TXMLDocument 的使用
TXMLDocument是DELPHI自帶的操作XML的類。
需要它,需要引用單元: uses XMLDoc;
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;
動態創建TXMLDocument對XML文件進行讀取和寫入
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;