从Feed中提取XML信息?
我尝试从来自YouTube的XML提要中提取特定数据。从Feed中提取XML信息?
XML链接:http://gdata.youtube.com/feeds/api/videos/WFPnl8aEPgo?alt=rss
我已经能够提取像信息:
标题, 说明
使用该查询字符串:
昏暗的标题String = videoInfoNavigator.SelectSingleNode(“/ item [1]/title”)。Value
不过,我没能找到合适的查询字符串来获取信息像
媒体:关键字
回答:
的media:keywords
使用媒体命名空间前缀,这是绑定到命名空间 - urihttp://search.yahoo.com/mrss/
如果哟u能注册命名空间前缀,你可以使用像这样的XPATH:
/item[1]/media:group/media:keywords
但是,如果你需要不依赖于空间前缀一个更通用的XPATH,你可以表达这样的:
/item[1]/*[local-name()='group' and namespace-uri()='http://search.yahoo.com/mrss/']/*[local-name()='keywords' and namespace-uri()='http://search.yahoo.com/mrss/']
应用到你的示例代码:
Dim Keywords As String = videoInfoNavigator.SelectSingleNode("/item[1]/*[local-name()='group' and namespace-uri()='http://search.yahoo.com/mrss/']/*[local-name()='keywords' and namespace-uri()='http://search.yahoo.com/mrss/']").Value
回答:
试试这个:
XmlNamespaceManager ns = new XmlNamespaceManager(doc.NameTable); ns.AddNamespace("m", "http://search.yahoo.com/mrss/");
var keywords = doc.CreateNavigator().SelectSingleNode("/item/m:group/m:keywords", ns);
Console.WriteLine(keywords.Value);
请注意,您使用的前缀根本无关紧要。这只是命名空间的缩写。
以上是 从Feed中提取XML信息? 的全部内容, 来源链接: utcz.com/qa/266100.html