比方說,我有一個這樣的文件:覆蓋特定的XML屬性
<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>
這兩個看起來稍微有前途:
Setting attributes in an XML document
但他們是否真正回答我的問題,目前還不清楚。
我已經寫在此期間該代碼:
下面是其工作的更最小的情況下:
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);
}
}
運行什麼你嘗試這麼遠嗎? –
審覈修改... – user787747