【发布时间】:2010-09-02 17:15:29
【问题描述】:
我正在尝试从此文档中获取频道元素。
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
xmlns:admin="http://webns.net/mvcb/"
xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
<channel rdf:about="http://developers.slashdot.org/">
<title>Slashdot: Developers</title>
<link>http://developers.slashdot.org/</link>
...
我认为它在默认命名空间中,似乎是“http://purl.org/rss/1.0/”所以我尝试这样:
XmlNamespaceManager nsmsgr = new XmlNamespaceManager(rssDoc.NameTable);
nsmsgr.AddNamespace(String.Empty, "http://purl.org/rss/1.0/");
XmlNode root = rssDoc.DocumentElement;
XmlNode channel = rssDoc.SelectSingleNode("channel", nsmsgr);
我不工作。 XmlNode 通道保持为空。
【问题讨论】:
-
你确定你的 XPath 是正确的吗?我认为您希望在指定子节点之前为根节点指定一个“*”。
-
@marc_s:是的,但如果他使用“*”来接受任何根,则不会。