我正在尝试读取另一个开发人员生成的文件。该文件看起来像这样。我试图读取“ 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);
}
答案 0 :(得分:4)
您的代码正在尝试获取节点的内部值,而不是名为value
的属性。试试这个吧...
foreach (XmlNode node in nodes) {
Console.WriteLine(node["ProfileName"].Attributes["value"].Value);
}
这是一个工作中的dotnet小提琴...