我有两个 XML 文件要合并到第一个文件的节点中
第一个文件 Toc.xml
<toc>
<item id ="c12">
<english>book1</english>
<french>book1</french>
</title>
</item>
<item id = "part1"/>
<item id = "part2"/>
<item id = "part3"/>
</toc>
每次使用 XML 文件运行转换后都会更新第二个文件(第 1、2、3 部分) 第二个文件:使用 part1.xml 运行转换时
<item id = “part 1”>
<title>
<english>part1</english>
<french>part1</french>
</title></item>
第二个文件:使用 part2.xml 运行转换时
<item id = “part 2”>
<title>
<english>part2</english>
<french>part2</french>
</title>
</item>
结果在 Toc 文件中
<toc>
<item id ="c12">
<english>book1</english>
<french>book1</french>
</title>
</item>
<item id = "part1">
<title>
<english>part1</english>
<french>part1</french>
</title>
</item>
<item id = "part2">
<title>
<english>part2</english>
<french>part2</french>
</title>
</item>
<item id = "part3">
<title>
<english>part3</english>
<french>part3</french>
</title>
</item>
</toc>
我尝试使用导入节点,但它给了我错误(缺少根元素)和其他错误“要插入的节点来自不同的文档上下文”
这是我尝试过的代码
XmlDocument temp = new XmlDocument();
temp.Load("secondfile.xml");
XmlDocument toc = new XmlDocument();
toc.Load(toc.xml);
XmlNodeList toclist = toc.SelectNodes("/toc/item");
foreach (XmlNode tocnode in toclist)
{XmlNodeList tempnodelist = temp.SelectNodes("/item");
foreach (XmlNode tempnode in tempnodelist)
{ XmlNode importnode = toc.ImportNode(tempnode, true);
toc.appendNode(importnode, tocnode);
}}
你说的对。我的问题不清楚。我把 que 改得更具体。我希望这次你会发现它更干净。谢谢你。