XML文件转换问题

时间:2009-10-15 12:42:23

标签: c# .net xml visual-studio-2008

我正在使用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>

1 个答案:

答案 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");

我希望这应该做到这一点!

马克