zoukankan      html  css  js  c++  java
  • 动态创建TXMLDocument对XML文件进行读取和写入

    uses 
    XMLDoc, XMLIntf;
    { 写入XML内容 }
    var
    XMLDoc : TXMLDocument;
    Node1 : IXMLNode;
    Node2 : IXMLNode;
    begin
    XMLDoc :
    = TXMLDocument.Create(nil);
    try
    XMLDoc.Active :
    = True;
    XMLDoc.Version :
    = '1.0';
    XMLDoc.Encoding :
    = 'GB2312';
    XMLDoc.Options :
    = [doNodeAutoCreate,doNodeAutoIndent,doAttrNull,doAutoPrefix,doNamespaceDecl];
    XMLDoc.DocumentElement :
    = XMLDoc.CreateNode('ReportObjectContent');
    Node1 :
    = XMLDoc.DocumentElement;
    Node1 :
    = Node1.AddChild('ReportObjectProperty');
    Node2 :
    = Node1.AddChild('ReportName');
    Node2.SetAttributeNS(
    'Value', '', ReportName);
    Node2 :
    = Node1.AddChild('ReportType');
    Node2.SetAttributeNS(
    'Value', '', ReportType);
    Node2 :
    = Node1.AddChild('DataViewName');
    Node2.SetAttributeNS(
    'Value', '', DataViewName);
    Node2 :
    = Node1.AddChild('SQLStr');
    Node2.SetAttributeNS(
    'Value', '', SQLStr);
    XMLDoc.SaveToStream(Stream);
    finally
    XMLDoc.Free;
    end;
    end;

    { 读取XML }
    var
    XML : TXMLDocument;
    Node1 : IXMLNode;
    DocIntf : IXMLDocument;
    begin
    XML :
    = TXMLDocument.Create(nil);
    DocIntf :
    = XML; //防止接口被自动释放,少了这一句会发生AV
    try
    XML.LoadFromStream(Strem);
    XML.Active :
    = True;
    { 读ReportObject属性 }
    Node1 :
    = XML.DocumentElement.ChildNodes.FindNode('ReportObjectProperty');
    ReportName :
    = Node1.ChildNodes.FindNode('ReportName').GetAttributeNS('Value', '');
    ReportType :
    = Node1.ChildNodes.FindNode('ReportType').GetAttributeNS('Value', '');
    DataViewName :
    = Node1.ChildNodes.FindNode('DataViewName').GetAttributeNS('Value', '');
    SQLStr :
    = Node1.ChildNodes.FindNode('SQLStr').GetAttributeNS('Value', '');
    finally
    XML :
    = nil;
    DocIntf :
    = nil;
    end;
    end;
    
    
  • 相关阅读:
    原产地政策,jsonp跨域
    4安德鲁斯.2.2在系统,具有系统权限的应用程序无法读取或写入SD卡
    [学习笔记]批次需求计划系统-简要
    【大话设计模式】——代理模式
    jQuery Mobile发展新闻阅读器,适应iphone和android打电话
    HDN2048(交错复发)
    CodeForces 69D Dot (游戏+记忆)
    Cocos2d-x 3.x plist+png 做动画
    Solr/SolrCloud -error
    Linux fdisk
  • 原文地址:https://www.cnblogs.com/jxgxy/p/1342274.html
Copyright © 2011-2022 走看看