Frank (no reg): XML File auslesen mit Namespace ohne Präfix

Beitrag lesen

Hallo,

dein XML Fragment enthält übrigens einen Fehler: <VerlagsName></VerlagsNameTest>, damit kann es nicht als XmlDocument geladen werden.

  
XmlDocument dom = new XmlDocument();  
dom.Load(System.IO.File.OpenRead(theFile));  
// du musst für XPath Abfragen jedoch ein Präfix deklarieren, auch wenn es gar nicht im eigentlichen Dokument vorkommt, der XPath Prozessor will es so  
XmlNamespaceManager mgr = new XmlNamespaceManager(dom.NameTable);  
mgr.AddNamespace("a", "http://www.vielSpass.com/nochMehr");  
// da du ein ein Präfix deklariert hast musst du es auch für jedes Element in der XPath Abfrage angeben, wie im folgenden  
XmlNode n = dom.DocumentElement.SelectSingleNode("a:Autor/a:AutorID", mgr);  
if(n == null)  
{  
 Console.WriteLine("Not Found");  
}  
else  
{  
 Console.WriteLine("Found");  
}  

Darüber hinaus empfehlen sich immer Prüfungen auf NULL-Referenzen.

Hoffe, es hilft (das ganze ist vielleicht auf den ersten Blick nicht ganz straight-forward)

Ciao, Frank