C#中如何修改xml文件中子节点的文本值

<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
<book genre="aa" ISBN="2-3631-4">
<title>CS从入门到精通</title>
<author>王明</author>
<price>58.3</price>
</book>
</bookstore>

比如说将王明修改为李强

XmlNode node = xml.DocumentElement;
foreach (XmlNode item in node.ChildNodes)
{
if (item["author"].InnerText == "王明")
item["author"].InnerText = "力强";
}
xml.Save("Xmlfile1.xml");追问

您好,我想问一下 如果节点层次三四层 甚至更多的时候,我改如何去修改文本值呢?谢谢啦。

追答

这要看情况论。节点还有很多属性和方法。你打代码的时候可以注意注意。比如 item.FirstChild就可以获得当前节点的第一个子节点等等

追问



Harry Potter

29.99

Learning XML
39.95

在这个例子中,我如何来写Harry Potter的路径表达式?

追答

不大懂路径表达式的意思。你举个列子我更明白点。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-11
string xmlStr = "<root><name>张三</name></root>";
TextReader tr = new StringReader(xmlStr);
System.Xml.XmlDocument x = new System.Xml.XmlDocument();
x.Load(tr);
System.Xml.XmlNode xn = x.SelectSingleNode("PERSONINFO/PERSONID");
xn.InnerText = "立强";
第2个回答  2012-05-12
用SelectNodes 或SelectSingleNode 自己去学习下
相似回答