首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#批改指定XML同一级别的子节点的值

2013-08-01 
C#修改指定XML同一级别的子节点的值问题如图,来大神[解决办法]XmlDocument doc new XmlDocument()doc.L

C#修改指定XML同一级别的子节点的值
问题如图,来大神C#批改指定XML同一级别的子节点的值
[解决办法]
XmlDocument doc = new XmlDocument();
doc.Load(@"c:\1.xml");
XmlNodeList list = doc.DocumentElement.GetElementByTagName("Item"); 

foreach(Xmlnode node in list)
{
  if(node.ChildNodes[0].InnerText = "Price")
  {
       node.InnerText = "20"  ;
  }
}
[解决办法]
xml文件应该成对出现,你那个是不对的。把xml文件放到debug/bin目录下,运行如下代码即可。

<?xml version="1.0" encoding="utf-8"?>
<items>
  <item>
    <title>毛著</title>
    <author>毛泽东</author>
    <price>10.00</price>
  </item>
  <item>
    <title>流浪记</title>
    <author>三毛</author>
    <price>20</price>
  </item>
</items>

static void Main(string[] args)
        {
            XElement element = XElement.Load("test.xml");
            IEnumerable result = from p in element.Elements("item")
                                 select p;
            foreach (XElement el in result)
            {
                if (el.Elements("title").FirstOrDefault().Value == "流浪记")
                {
                    el.Elements("price").FirstOrDefault().SetValue("20");


                }
            }

            element.Save("test.xml");
        }

热点排行