xml文件就是这个:
<settings y="1" x="0">
<prospect aksdj="sdf">
<image path="images/1.jpg"/>
</prospect>
<prospect aksdfasdj="safafdf">
<image path="images/2.jpg"/>
</prospect>
</settings>
我希望使用图片代码获取这两行。
我的代码是:
XElement doc = XElement.Load(@"C:\Users\John\Desktop\File.xml");
var result = (from c in doc.Descendants("settings")
select new
{
name = c.Element("prospect").Value
}).ToList();
但是,doc.Descendants(“settings”)为空。为什么它是空的?
答案 0 :(得分:4)
您已经加载了一个元素,它已经是<settings>
元素 - 元素没有任何<settings>
个后代。 (顺便说一下,Descendants
没有给你null
返回 - 它会给你一个空序列。这有很大的不同。)
如果您将其更改为
XDocument doc = XDocument.Load("...");
然后它应该没问题 - 或者只是将其加载为XElement
并找到<prospect>
后代,因为你只有一个<settings>
元素...