这是我的示例xml:
<rss version='2.0' xmlns:media='http://search.yahoo.com/mrss/'>
<channel>
<title>Title of RSS feed</title>
<link>LINK</link>
<description>Details about the feed</description>
<language>en</language>
<item>
<title>TITLE</title>
<media:content url='http://LINK' type='' xmlns:media='http://search.yahoo.com/mrss' />
</item>
</channel>
</rss>
我的代码:
XElement rss = XElement.Parse(xml);
XNamespace media = "http://search.yahoo.com/mrss/";
var item = rss.Element("channel").Elements("item").First();
var mediaa = item.Element(media + "content"); //this part doesn't work as expected
var url = mediaa.Attribute("url");
似乎xmlns:media='http://search.yahoo.com/mrss'
标记的“media:content
”部分正在打破.Element(media + "content")
。
(我无法更改Feed)
答案 0 :(得分:0)
错误的命名空间。最后没有“/”。
答案 1 :(得分:0)
这应该有效:
XNamespace media = XNamespace.Get("http://search.yahoo.com/mrss/");
另请注意,您必须在media:content元素中修复它,它应该说
<media:content url='http://LINK' type='' xmlns:media='http://search.yahoo.com/mrss/'/>
答案 2 :(得分:-1)
应该是
XNamespace media =“{http://search.yahoo.com/mrss/}”;
即花括号?