【发布时间】:2012-07-18 15:57:48
【问题描述】:
<item>
<title>Lorem Ipsum</title>
<media:group>
<media:content url = "http://www.sample.com" rate = "0" />
<media:content url = "http://www.sample1.com" rate = "1" />
<media:content url = "http://www.sample2.com" rate = "2" />
</media:group>
</item>
我如何得到这个值:
我尝试使用此代码:
var query = from i in loadedData.Descendants("item")
select new Site
{
Title = (string)i.Element("title"),
Url = (string)i.Element(serv + "group").Elements(media + "content").Last()
};
site = query.ToList();
但 Url 的值为 ""。 我也有这个:
private static readonly XNamespace media = "http://www.sampleX.com/";
【问题讨论】:
-
试试
Url = (string)i.Element(serv + "group").Elements(media + "content").Last().Attribute("url").Value; -
谢谢威廉!奇迹般有效! :)
-
它如何匹配没有在 XML 中任何位置声明的
xmlns:media="http://www.sampleX.com/"属性的命名空间?它是在您未显示的元素上声明的吗? -
我认为这只是一个项目列表 xml 文件的摘录,其中命名空间声明为 anyhwere。
-
Batuu是对的,我只展示了xml的一部分
标签: c# xml linq linq-to-xml