使用C#访问某些节点读取xml时出现问题

时间:2014-08-05 14:11:04

标签: c# .net xml

我的XML看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <something.logger>
    <add key="LoggerId" value="8a2ff9ef-d144-4dcb-86d8-6ccaf44def20">
    </add>
    <add key="FederationId" value="00000000-0000-0000-0000-000000000000" />
  </something.logger>
 </configuration>

我的代码:

XmlDocument xml = new XmlDocument();
xml.Load(Some-Valid-Path);
XmlNodeList xnList = xml.SelectNodes("/configuration/something.logger");

我正在尝试获得值的Guid(或值..)。

最后我想得到字符串&#34; 8a2ff9ef-d144-4dcb-86d8-6ccaf44def20&#34;

谢谢!

2 个答案:

答案 0 :(得分:1)

使用/@访问属性:

XmlNodeList xnList = xml.SelectNodes("/configuration/something.logger/add/@value");

答案 1 :(得分:1)

在属性名称的开头使用@来引用XPath中的属性。然后,您需要将列表中的每个项目转换为XmlAttribute

XmlNodeList xnList = doc.SelectNodes("/configuration/something.logger/add[@key='LoggerId']/@value");
foreach (XmlAttribute n in xnList)
{
    Console.WriteLine(n.Value);
}