Ich versuche, einen Atom-Feed programmgesteuert zu analysieren. Ich habe das Atom XML als String heruntergeladen. Ich kann das XML in eine XmlDocument
laden. Ich kann das Dokument jedoch nicht mit XPath durchqueren. Immer wenn ich es versuche, bekomme ich null
.Keine Knoten ausgewählt aus Atom XML-Dokument mit XPath?
Ich habe mit diesem Atom-Feed als Test: http://steve-yegge.blogspot.com/feeds/posts/default
Aufruf SelectSingleNode()
immer wieder null
, außer wenn ich "/
" verwenden. Hier ist, was ich versuche jetzt:
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);
}
Ich dachte, es wegen meiner XPath gewesen sein könnte, also habe ich auch versucht, eine einfache Abfrage des Root-Knotens, da ich die Wurzel wusste funktionieren sollte:
// I've tried both with & without the nsMngr declared above
XmlNode node = atom.SelectSingleNode("/feed");
Egal was ich tue, es scheint, als ob es nichts auswählen kann. Offensichtlich vermisse ich etwas, ich kann einfach nicht herausfinden, was. Was muss ich tun, damit XPath mit diesem Atom-Feed funktioniert?
EDIT
Obwohl diese Frage eine Antwort hat, fand ich diese Frage duplizieren hat sich als eine fast exakte: SelectNodes not working on stackoverflow feed
Obwohl diese Frage eine Antwort hat, fand ich diese Frage duplizieren hat sich als eine fast exakte: SelectNodes not working on stackoverflow feed
möglich Duplikat [Select nicht auf Stackoverflow-Feed Arbeits] (http://stackoverflow.com/questions/24734/selectnodes-not-working-on-stackoverflow-feed) –