假设我有一个这样的文件:
<outer>
<inner>
<nodex attr="value1">text</attr>
<nodex attr="value2">text</attr>
</inner>
</outer>
基本上我想做的是,在 C# 中(这里限制为 .net 2.0),这个(伪代码):
foreach node
if(node eq 'nodex')
update attr to newvalue
完成后,xml 文件(在磁盘上)应如下所示:
<outer>
<inner>
<nodex attr="newvalue1">text</attr>
<nodex attr="newvalue2">text</attr>
</inner>
</outer>
这两个看起来很有希望:
但目前尚不清楚他们是否真的回答了我的问题。
我同时写了这段代码:
这是一个更简单的情况:
public static void UpdateXML()
{
XmlDocument doc = new XmlDocument();
using (XmlReader reader = XmlReader.Create("XMLFile1.xml"))
{
doc.Load(reader);
XmlNodeList list = doc.GetElementsByTagName("nodex");
foreach (XmlNode node in list)
{
node.Attributes["attr"].Value = "newvalue";
}
}
using (XmlWriter writer = XmlWriter.Create("XMLFile1.xml"))
{
doc.Save(writer);
}
}