我正在尝试将XML文件粘贴到“主”XML中。我使用以下代码尝试了这个:
XmlNode node = xmldoc.ImportNode(secondXmlDoc.DocumentElement.LastChild, true);
xmldoc.DocumentElement.AppendChild(node);
现在,我的最后一个孩子是</Document>
,但我想在那之前粘贴另一个XML子。是否有可能找回一个孩子?
更新
我试着像这样使用insertBefore:
XmlDocument main = new XmlDocument();
XmlDocument toMain = new XmlDocument();
main.Load(path);
toMain.Load(path);
XmlNode node = main.ImportNode(toMain.DocumentElement, true);
XmlNode refNode = main.SelectSingleNode("/ObjectList");
main.DocumentElement.InsertBefore(node, refNode);
main.Save(path);
我的XML文件如下所示:
......
......
<ObjectList>insert toMain here</ObjectList>
</Document> // end of XML file
更新2
显然,SelecSingleNode给了我一个null
引用,这与命名空间有关。现在它正在发挥作用。
答案 0 :(得分:0)
使用InsertBefore
,传递之前要插入的节点。
例如
xmldoc.DocumentElement.InsertBefore(newNode, xmlDoc.DocumentElement.LastChild);