我想获取一个 XML 文件并将其数据放入 C# 中的数组
我的代码:
XmlDocument XMLDoc = new XmlDocument();
XMLDoc.Load("C:/Scripts/example.xml");
string[] bans = XMLDoc.Descendants("ban").Select(element => element.Value).ToArray();
但是,我不断收到此错误:
'System.Xml.XmlDocument' does not contain a definition for 'Descendants' and no extension method 'Descendants' accepting a first argument of type 'System.Xml.XmlDocument' could be found (are you missing a using directive or an assembly reference?)
这是我的 xml 文件(如果相关):
<championSelect>
<blue>
<ban order="1">Darius</ban>
<ban order="3">Elise</ban>
<ban order="5">Twisted Fate</ban>
<pick order="1">Gragas</pick>
<pick order="4">Shen</pick>
<pick order="5">Shyvanna</pick>
</blue>
<red>
<ban order="2">Jayce</ban>
<ban order="4">Zac</ban>
<ban order="6">Thresh</ban>
<pick order="2">Draven</pick>
<pick order="3">Ryze</pick>
</red>
</championSelect>
我认为这与.后裔有关,但我不能肯定地说。我在这里尝试了很多关于堆栈溢出的其他解决方案,但均无济于事。如果有必要,我欢迎另一种方法
最佳答案
您的 LINQ 看起来不错,但是您使用的是 XmlDocument
(来自 System.Xml
命名空间)。为了使 LINQ 正常工作,您需要使用 XDocument
,它是 System.Xml.Linq
命名空间的一部分:
var doc = XDocument.Load("C:/Scripts/example.xml");
string[] bans = doc.Descendants("ban")
.Select(element => element.Value)
.ToArray();
关于c# - 将 XML 读入数组,不断出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17935063/