使用C#获取XML文档的选定属性值

时间:2014-07-01 07:09:51

标签: c# xml visual-studio-2010 c#-4.0

下面是我的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);

请帮我这样做。

1 个答案:

答案 0 :(得分:2)

对代码的XPath部分进行轻微修改即可完成任务:

var username = "username2";
var xpath = String.Format("Settings/Authentication/auth[@Userame='{0}']", username);
XmlDoc.SelectSingleNode(xpath)
      .Attributes["Password"]
      .Value = password;