无法读取C#中的值XML属性

时间:2018-07-18 16:51:52

标签: c# xml

我正在尝试读取另一个开发人员生成的文件。该文件看起来像这样。我试图读取“ ProfileName”的值,但是当我查看内存中的对象时,“值”(大写V)属性为空。我可以看到字符串“ GolfLeague-Dual”的唯一位置是在externalxml属性中,但是我必须解析一堆字符串才能得到它。

<?xml version="1.0"?>
<TopNode>
  <ProfileSettings>
    <ProfileName value="GolfLeague-Dual" />    
  </ProfileSettings>
</TopNode>

这是我的代码,请尝试阅读以下内容:

XmlDocument doc = new XmlDocument();
doc.Load(directory + @"\Settings.xml");

XmlElement root = doc.DocumentElement;
XmlNodeList nodes = root.SelectNodes("//ProfileSettings");

foreach (XmlNode node in nodes) {
    Console.WriteLine(node["ProfileName"].Value);
}

1 个答案:

答案 0 :(得分:4)

您的代码正在尝试获取节点的内部值,而不是名为value的属性。试试这个吧...

foreach (XmlNode node in nodes) {
    Console.WriteLine(node["ProfileName"].Attributes["value"].Value);
}

这是一个工作中的dotnet小提琴...

https://dotnetfiddle.net/pmJKbX