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目录下,运行如下代码即可。
问题如图,来大神
------解决方案--------------------
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");