宋贝尔 發表於 2019-6-29 22:09:00

TXMLDocument 的使用

<p>TXMLDocument 的使用</p>
<p>TXMLDocument是DELPHI自带的操作XML的类。</p>
<p>需要它,需要引用单元: uses&nbsp;XMLDoc;</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">var
XMLDoc:TXMLDocument;
XMLNode: IXMLNode;
child: IXMLNode;
begin
CoInitialize(nil); //初始化ActiveX
XMLDoc:=TXMLDocument.Create(self);
XMLDoc.Active := true;
XMLNode := XMLDoc.AddChild('ConsumeRec');
child := XMLNode.AddChild('EventsDateTime');
child.Text := dateTostr(Now);
XMLDoc.SaveToFile('c:\ok.xml');
XMLDoc.Free;   //不能用,因为接口自动释放内存。
CoUninitialize;
end;
</pre>
</div>
<p>  动态创建TXMLDocument对XML文件进行读取和写入</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">var
XML : TXMLDocument;
Node1 : IXMLNode;
DocIntf : IXMLDocument;
begin
XML := TXMLDocument.Create(self);
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;
</pre>
</div>
<p>  </p>

</div>
<div id="MySignature" role="contentinfo">
    <p>本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/11108064.html</p><br><br>
来源:https://www.cnblogs.com/hnxxcxg/p/11108064.html
頁: [1]
查看完整版本: TXMLDocument 的使用