有人可以帮我用一行代码从RSS提要访问iCal节点吗?如何解析iCal Rss节点
具体而言,我想访问xCal:x-calconnect-venue-name节点。
我的父节点是 '项目',因此该路径是:
项/ xCal:X-calconnect会场/ xCal:ADR/xCal:X-calconnect会场名
哪有我使用parent.SelectChildNode()来访问该节点的值?
非常感谢
b
有人可以帮我用一行代码从RSS提要访问iCal节点吗?如何解析iCal Rss节点
具体而言,我想访问xCal:x-calconnect-venue-name节点。
我的父节点是 '项目',因此该路径是:
项/ xCal:X-calconnect会场/ xCal:ADR/xCal:X-calconnect会场名
哪有我使用parent.SelectChildNode()来访问该节点的值?
非常感谢
b
如果RSS项目的内容是这样的(不相关的节点略)
<item>
<xCal:adr>
<xCal:x-calconnect-venue-name>venue name</xCal:x-calconnect-venue-name>
</xCal:adr>
</item>
那么你可以做
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.xmlDoc);
nsmgr.AddNamespace("xCal", "urn:ietf:params:xml:ns:xcal");
// possibly add the RSS namespace as well?
XmlNodeList nodes = xmlDoc.SelectNodes("rss/channel/item");
foreach (XmlNode node in nodes) {
XmlNode venue = node.SelectSingleNode(".//xCal:x-calconnect-venue-name", nsmgr);
// watch out, there might not be a select result!
if (venue != null) {
string s = venue.InnerText;
// ...
}
}
或直接
string xpath = "rss/channel/item//xCal:x-calconnect-venue-name";
XmlNodeList nodes = xmlDoc.SelectNodes(xpath, nsmgr);
foreach (XmlNode venue in nodes) {
string s = venue.InnerText;
// ...
}
太棒了,谢谢Tomalak,我会试试! – 2010-03-16 21:55:01
只是为了跟进,再次感谢Tomalak这工作完美。非常感激。 – 2010-03-17 18:20:46
@user:感谢后续,很高兴它的工作。 P.S .:对于这个答案的赞成票和接受将在我的结尾非常赞赏。 ;-) – Tomalak 2010-03-17 19:00:26
而'SelectChildNode()'是什么语言的一部分?请包含一些代码作为上下文,并显示您一直在尝试的内容。 – Tomalak 2010-03-16 13:15:08
好点Tomalak,它来自asp.net C# – 2010-03-16 14:42:52
据我所知在整个.NET框架中没有'SelectChildNode()'函数。对于Bing的知识:http://social.msdn.microsoft.com/Search/en-US?query=SelectChildNode&ac=3所以 - 你在做什么? – Tomalak 2010-03-16 14:46:53