我正在使用VSTS 2008 + C#+ .Net 3.5将以下输入XML文件转换为目标格式。可以有任意数量的Image元素。新的价格信息在列表中提供。
实现转换功能的任何快捷方式?
源格式,
<?xml version="1.0"?>
<Metadata version="1">
<Owner>George</Owner>
<Image>
<x>100</x>
</Image>
<Image>
<x>200</x>
</Image>
</Metadata>
目的地格式,
<?xml version="1.0"?>
<Metadata version="1">
<Owner>George</Owner>
<Image>
<x>100</x>
<Price>200</Price>
</Image>
<Image>
<x>100</x>
<Price>300</Price>
</Image>
</Metadata>
答案 0 :(得分:3)
非常简单:选择所有<Image>
个节点并向其添加新的<Price>
子节点:
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load("your-filename-here.xml");
XmlNodeList imageList = xmldoc.SelectNodes("/Metadata/Image");
foreach(XmlNode node in imageList)
{
XmlElement priceElement = xmldoc.CreateElement("Price");
priceElement.InnerText = "300"; // or whatever it is
node.AppendChild(priceElement);
}
xmldoc.Save("your-new-xml-file-name-here.xml");
我希望这应该做到这一点!
马克