有人可以幫我用一行代碼從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