Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 最后一个孩子之前的导入节点_C#_Xml - Fatal编程技术网

C# 最后一个孩子之前的导入节点

C# 最后一个孩子之前的导入节点,c#,xml,C#,Xml,我正在尝试将XML文件粘贴到“主”XML中。我已使用以下代码尝试此操作: XmlNode node = xmldoc.ImportNode(secondXmlDoc.DocumentElement.LastChild, true); xmldoc.DocumentElement.AppendChild(node); 现在,我的最后一个孩子是,但我想在另一个孩子之前粘贴另一个XML。一个孩子能回去吗 更新 我以前尝试过这样使用insertBefore: XmlDocument main = ne

我正在尝试将XML文件粘贴到“主”XML中。我已使用以下代码尝试此操作:

XmlNode node = xmldoc.ImportNode(secondXmlDoc.DocumentElement.LastChild, true);
xmldoc.DocumentElement.AppendChild(node);
现在,我的最后一个孩子是
,但我想在另一个孩子之前粘贴另一个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);
......
......
<ObjectList>insert toMain here</ObjectList>
</Document> // end of XML file
我的XML文件如下所示:

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);
......
......
<ObjectList>insert toMain here</ObjectList>
</Document> // end of XML file
。。。。。。
......
在这里插入Toma
//XML文件结尾
更新2

显然,SelecSingleNode给了我一个
null
引用,这与名称空间有关。现在它正在工作。

使用,传递要插入的节点

例如


我已经接受了你的解决方案。但是如果我想返回两个或三个child怎么办?@user3185388您需要将要在前面插入的节点传递给API(或者对前面的节点使用
InsertAfter
)。这就变成了一个获取相对节点引用的问题:根据需求,有很多方法可以做到这一点,但您需要定义文档和这些需求来解决这个问题(这超出了对现有Q的编辑范围)。我更新了我的问题,但仍然没有解决它,检查了很多其他的话题,但是这些都不适合我请看,其中的共识是“不,他们不应该”!