मैं प्रोग्राम पर एटम फ़ीड को पार्स करने की कोशिश कर रहा हूं। मेरे पास परमाणु एक्सएमएल एक स्ट्रिंग के रूप में डाउनलोड किया गया है। मैं एक्सएमएल को XmlDocument
में लोड कर सकता हूं। हालांकि, मैं XPath का उपयोग कर दस्तावेज़ को पार नहीं कर सकता। जब भी मैं कोशिश करता हूं, मुझे null
मिलता है।XPath का उपयोग कर एटम एक्सएमएल दस्तावेज़ से कोई नोड्स चयनित नहीं है?
मैं एक परीक्षण के रूप में इस एटम फ़ीड का उपयोग कर रहे: http://steve-yegge.blogspot.com/feeds/posts/default
कॉलिंग SelectSingleNode()
हमेशा null
देता है, जब मैं "/
" का उपयोग के लिए छोड़कर। यहाँ क्या कर रहा है मैं अभी कोशिश कर रहा हूँ:
using (WebClient wc = new WebClient())
{
string xml = wc.DownloadString("http://steve-yegge.blogspot.com/feeds/posts/default");
XmlNamespaceManager nsMngr = new XmlNamespaceManager(new NameTable());
nsMngr.AddNamespace(string.Empty, "http://www.w3.org/2005/Atom");
nsMngr.AddNamespace("app", "http://purl.org/atom/app#");
XmlDocument atom = new XmlDocument();
atom.LoadXml(xml);
XmlNode node = atom.SelectSingleNode("//entry/link/app:edited", nsMngr);
}
मैंने सोचा कि यह मेरे XPath की वजह से हो सकता है, तो मैं भी रूट नोड का एक सरल क्वेरी की कोशिश की है के बाद से मैं जानता था कि जड़ से काम करना चाहिए:
// I've tried both with & without the nsMngr declared above
XmlNode node = atom.SelectSingleNode("/feed");
कोई फर्क नहीं पड़ता कि मैं क्या करता हूं, ऐसा लगता है कि यह कुछ भी नहीं चुन सकता है। जाहिर है, मुझे कुछ याद आ रहा है, मैं सिर्फ यह नहीं समझ सकता कि क्या। इस एटम फ़ीड पर XPath काम करने के लिए मुझे क्या करना है?
संपादित
हालांकि इस सवाल का एक जवाब है, मुझे पता चला इस सवाल का एक लगभग सटीक नकल है: SelectNodes not working on stackoverflow feed
के संभावित डुप्लिकेट [stackoverflow फ़ीड पर काम नहीं कर SelectNodes] (http://stackoverflow.com/questions/24734/selectnodes-not-working-on-stackoverflow-feed) –