我有两个XmlDocuments,一个是根目录,另一个包含子目录。我想将它们合并并保存到一个文档中。目前我有这个:
XmlDocument root = new XmlDocument();
root.LoadXml("<tables><table></table></tables>");
XmlDocument childItem = new XmlDocument();
childItem.LoadXml(string.Format(@"<item>
<column columnName=""Article_text"">{0}</column>
<column columnName=""Article_name"">{1}</column>
</item>", atext, aname));
root.AppendChild(childItem);
我希望新文档的结构为表/表/项目。但是,上面的代码向我抛出错误:
不能将指定的节点作为该节点的有效子节点插入,因为指定的节点类型错误。
答案 0 :(得分:1)
var newNode = root.ImportNode(childItem.FirstChild, true);
root["tables"]["table"].AppendChild(newNode);
首先将您的 item 元素导入到 root 文档中。期望 item 是您的根节点,您可以使用FirstChild和ImportNode来获取它:
var newNode = root.ImportNode(childItem.FirstChild, true);
并将其附加到您的 table 元素:
root["tables"]["table"].AppendChild(newNode);