下面是我的config xml文件,其中我有多个用户名和密码。因此我需要按username
属性值选择xml节点。
<Authentication>
<auth Userame="username1" Password ="xxxxxx"/>
<auth Userame="username2" Password ="xxxxxxx"/>
<auth Userame="username3" Password ="xxxxxx"/>
</Authentication>
我正在尝试的是,我需要选择带有username2的节点,并在xml中更新该节点的密码值。我正在使用XmlDocument
,我可以看到许多带有XDocument的示例用于选择属性。是否可以在C#中使用XmlDocument执行此操作。
目前我正在使用一个节点和一个节点,我实现如下,
XmlDoc.SelectSingleNode("Settings/Authentication/auth").Attributes["Password"].Value = password;
XmlDoc.Save(path);
请帮我这样做。
答案 0 :(得分:2)
对代码的XPath部分进行轻微修改即可完成任务:
var username = "username2";
var xpath = String.Format("Settings/Authentication/auth[@Userame='{0}']", username);
XmlDoc.SelectSingleNode(xpath)
.Attributes["Password"]
.Value = password;