【发布时间】:2018-02-27 08:14:40
【问题描述】:
我正在尝试通过首先添加一个子节点然后尝试更改节点的父节点来修改非常扩展的 xml 的结构。我对 XML 不是很有经验,所以我能够添加一个子节点,但是似乎当我试图附加新的父级时,它只是删除了我试图替换的所有父级。
以下是 XML 的整体结构:
<root>
<products>
<product id="1010-1001">
<name>
</name>
<unit>Styk</unit>
<shortDescription />
<longDescription>
</longDescription>
<currency>DKK</currency>
<price>
</price>
<categories>
<category>0912</category>
</categories>
</product>
<product id="1010-1002">
<name>
</name>
<unit>Styk</unit>
<shortDescription />
<longDescription>
</longDescription>
<currency>DKK</currency>
<price>31.982115219</price>
<categories>
<category>0912</category>
</categories>
</product>
</products>
</root>
这就是我想要实现的目标:
<root>
<products>
<table>
<name>BTS pulver 50 g m/antibiotika</name>
<Image>.</Image>
<longDescription>
</longDescription>
<product id="1010-1001" />
<shortDescription />
<unit>Styk</unit>
<price>10.6600000000000000000000</price>
</table>
</products>
</root>
这是我尝试整理的代码:
XmlNodeList list = doc.SelectNodes("root/products/product");
foreach (XmlNode item in list)
{
XmlElement Image = doc.CreateElement("Image");
Image.InnerText = "id";
item.AppendChild(Image);
}
foreach(XmlNode parent in list)
{
XmlElement table = doc.CreateElement("table");
parent.ParentNode.RemoveChild(parent);
table.AppendChild(parent);
}
doc.Save(Console.Out);
Console.ReadKey();
【问题讨论】:
标签: c# xml xmldocument xml-documentation