将 XmlDocument 作为子节点添加到另一个 XmlDocument
Add XmlDocument as child node to another XmlDocument
我有两个 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);
我希望我的新文档的结构是 tables/table/item。但是,上面的代码抛出一个错误:
The specified node cannot be inserted as the valid child of this node, because the specified node is the wrong type.
var newNode = root.ImportNode(childItem.FirstChild, true);
root["tables"]["table"].AppendChild(newNode);
首先将您的 item 元素导入 root 文档。期望 item 是您的根节点,您可以使用 FirstChild and ImportNode 来获取它:
var newNode = root.ImportNode(childItem.FirstChild, true);
并将其附加到您的 table 元素:
root["tables"]["table"].AppendChild(newNode);
我有两个 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);
我希望我的新文档的结构是 tables/table/item。但是,上面的代码抛出一个错误:
The specified node cannot be inserted as the valid child of this node, because the specified node is the wrong type.
var newNode = root.ImportNode(childItem.FirstChild, true);
root["tables"]["table"].AppendChild(newNode);
首先将您的 item 元素导入 root 文档。期望 item 是您的根节点,您可以使用 FirstChild and ImportNode 来获取它:
var newNode = root.ImportNode(childItem.FirstChild, true);
并将其附加到您的 table 元素:
root["tables"]["table"].AppendChild(newNode);