来源:www.cncfan.com | 2006-1-20 | (有5285人读过)
问:我想用TXmlDocument实现创建一个Xml文档,并可以加节点等操作 最好有程序片断,谢了!
答一: 放一个TXMLDocument在form上。
procedure TForm1.Button1Click(Sender: TObject); var aNode, aValueNode: IXMLNode; wStr: widestring; begin //+++++++++++++++++++++++++++++++++++++ //用TXmlDocument实现创建一个Xml文档 with XMLDocument1.XML do begin Add('<?xml version="1.0" standalone="yes"?>'); Add('<DFW>'); Add('<savenight>'); Add('<name>savenight</name>'); Add('<sex>man</sex>'); Add('</savenight>'); Add('</DFW>'); end; XMLDocument1.Active := true; XMLDocument1.SaveToFile('d:\tmp\test.xml'); //+++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++ //加节点操作 aNode := XMLDocument1.DocumentElement.AddChild('xiey'); aValueNode := aNode.AddChild('name'); aValueNode.Text := 'xiey'; aValueNode := aNode.AddChild('sex'); aValueNode.Text := 'man or woman?'; //读取节点操作 aNode := XMLDocument1.DocumentElement.ChildNodes[1]; wStr := aNode.ChildNodes['name'].Text; ShowMessage('xiey'' name is :' + wStr); wStr := aNode.ChildNodes['sex'].Text; ShowMessage('xiey'' sex is :' + wStr); //+++++++++++++++++++++++++++++++++++++ end;
答二:txmldocument有删除子节点的操作方法。 用法: ixmlnodelist.remove(ixmlnode); 例: xmldocument1.documentelement.childnodes.remove(ixmlnode); 也许说的不清楚,帮助中查找remove就能找到了。
to xiey: xmldocument1.XML.Add('<?xml version="1.0" encoding="gb2312"?>'); xmldocument1.XML.Add('<standarddata/>'); xmldocument1.Active:=true; xmldocument1.DocumentElement.AddChild('asd',0); xmldocument1.DocumentElement.AddChild('aaa',1); xmldocument1.SaveToFile('e:\sldk.xml'); 我太菜了,不喜欢用with语句。那样有一些属性和方法就不会拼写了。 见笑了。
|