LINQ查询问题
无法在 Feed 中获得任何结果。 feedXML 具有正确的数据。
XDocument feedXML = XDocument.Load(@"http://search.twitter.com/search.atom?q=twitter");
var feeds = from entry in feedXML.Descendants("entry")
select new
{
PublicationDate = entry.Element("published").Value,
Title = entry.Element("title").Value
};
我缺少什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您需要指定命名空间:
与我使用过的一切其他 XML API 相比,LINQ to XML 中的命名空间处理非常简单:)
You need to specify the namespace:
Namespace handling is beautifully easy in LINQ to XML compared with everything other XML API I've ever used :)
您需要在 Descendents 和 Element 方法上指定命名空间。
You need to specify a namespace on both the Descendents and Element methods.
如果你查看 HTTP 请求返回的 XML,你会发现它定义了一个 XML 命名空间:
XML 就像 C# 一样,如果你使用了错误命名空间的元素名称,它不会被认为是同一个元素!您需要将所需的命名空间添加到查询中:
If you look at the XML returned by the HTTP request, you will see that it has an XML namespace defined:
XML is just like C#, if you use an element name with the wrong namespace, it is not considered to be the same element! You need to add the required namepsace to your query:
问题出在 中。这返回 0 个结果
根据文档,您需要输入完全限定的 XName
The issue is in
feedXML.Descendants("entry")
. This is returning 0 resultsAccording to the documentation you need to put in a fully qualified XName