【发布时间】:2014-01-07 14:29:27
【问题描述】:
我正在将一个 xml 提要从 youtube 加载到 xelement 中,如下所示:
XElement element = XElement.Load(url);
这很好,我得到一个如下所示的文档:
<?xml version='1.0' encoding='UTF-8' ?>
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:media='http://search.yahoo.com/mrss/' xmlns:opensearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:gd='http://schemas.google.com/g/2005' xmlns:yt='http://gdata.youtube.com/schemas/2007'>
<id>http://gdata.youtube.com/feeds/api/users/id/uploads</id>
<updated>2014-01-07T11:43:08.269Z</updated>
<category scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/>
<title type='text'>Uploads by id</title>
<logo>http://www.gstatic.com/youtube/img/logo.png</logo>
<link rel='related' type='application/atom+xml' href='https://gdata.youtube.com/feeds/api/users/stonemarketuk'/>
<link rel='alternate' type='text/html' href='https://www.youtube.com/channel/333/videos'/>
<link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://gdata.youtube.com/feeds/api/users/id/uploads'/>
<link rel='http://schemas.google.com/g/2005#batch' type='application/atom+xml' href='https://gdata.youtube.com/feeds/api/users/id/uploads/batch'/>
<link rel='self' type='application/atom+xml' href='https://gdata.youtube.com/feeds/api/users/id/uploads?start-index=1&max-results=25'/>
<link rel='next' type='application/atom+xml' href='https://gdata.youtube.com/feeds/api/users/id/uploads?start-index=26&max-results=25'/>
<author>
<name>StonemarketUK</name>
<uri>https://gdata.youtube.com/feeds/api/users/id</uri>
</author>
<generator version='2.1' uri='http://gdata.youtube.com'>YouTube data API</generator>
<openSearch:totalResults>30</openSearch:totalResults>
<openSearch:startIndex>1</openSearch:startIndex>
<openSearch:itemsPerPage>25</openSearch:itemsPerPage>
<entry>
....entry elements
</entry>
<entry>
....entry elements
</entry>
</feed>
如何获取入口元素?我尝试了以下方法:
var entries = element.Elements("entry");
var entries = element.Element("feed").Elements("entry");
var entries = element.Nodes().Elements("entry");
但是这些都没有返回任何东西
我也调试并尝试了element.Elements().FirstOrDefault(),但这返回了 null。 element.Nodes().Count() 返回 41 那么我应该尝试获取名为 entry 的节点吗?
【问题讨论】: