有什么控件或函数可以实现该功能吗?
例如:第一个XML文件
<svg width=100 height=100>
<defs> </defs>
</svg>另一个XML文件:
<symbol id="symbol1">
<g>
<hello name="yyy" />
</g>
</symbol>如何将下一个XML中的<symbol>节点的所有内容插入到第一个XML文件的<defs>节点中?
例如:第一个XML文件
<svg width=100 height=100>
<defs> </defs>
</svg>另一个XML文件:
<symbol id="symbol1">
<g>
<hello name="yyy" />
</g>
</symbol>如何将下一个XML中的<symbol>节点的所有内容插入到第一个XML文件的<defs>节点中?
第一个节点的appendChild方法加入第二个节点
var
NodeSelect1, NodeSelect2: IDOMNodeSelect;
NodeList1, NodeList2: IDOMNodeList;
iNode1, iNode2: IDOMNode;
PathStr1, PathStr2: String;
begin
XMLDocument1.FileName := ExtractFilePath(Application.ExeName)+'myXML1.xml';
XMLDocument1.Active := true;
PathStr1 := '/svg/defs';
NodeSelect1 := XMLDocument1.DOMDocument as IDOMNodeSelect;
NodeList1 := NodeSelect1.selectNodes(PathStr1);
iNode1 := NodeList1.item[0]; XMLDocument2.FileName := ExtractFilePath(Application.ExeName)+'myXML2.xml';
XMLDocument2.Active := true;
PathStr2 := '/symbol';
NodeSelect2 := XMLDocument2.DOMDocument as IDOMNodeSelect;
NodeList2 := NodeSelect2.selectNodes(PathStr2);
iNode2 := NodeList2.item[0]; iNode1.appendChild(iNode2);
XMLDocument1.Active := true;
Memo1.Lines := XMLDocument1.XML; //看結果
end;(注:用2個TXMLDocument控件分別装XML文件
myXML1.xml + myXML2.xml -> myXML1.xml )