lastChild之前的importNode

时间:2015-06-01 14:27:42

标签: c# xml

我正在尝试将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引用,这与命名空间有关。现在它正在发挥作用。

1 个答案:

答案 0 :(得分:0)

使用InsertBefore,传递之前要插入的节点。

例如

xmldoc.DocumentElement.InsertBefore(newNode, xmlDoc.DocumentElement.LastChild);