XPath / SelectNodes

Norbert Eder

Erfahrenes Mitglied
So, jetzt bekomm ich bald die Krise.

Ich les mir da ein XML-Dokument ein ... der Beginn sieht in etwa so aus:

Code:
<QV xmlns="http://tempuri.org/temp.xsd">
   <QVINFO>
      <DURATION>0</DURATION>
      <BGCOLOR>#FFFFFF</BGCOLOR>
      <BIMAGE></BIMAGE>
   </QVINFO>
   <SECTION>
      <SECINF>
         <NAME>Sektion 1</NAME>
         <X>0</X>
         <Y>0</Y>
         <WIDTH>100</WIDTH>
         <HEIGHT>20</HEIGHT>
         <BCOLOR>#CCCCCC</BCOLOR>
         <BIMAGE>C:/DATASTORE/TEMPLATES/IMAGES/s1bg.gif</BIMAGE>
      </SECINF>
      <SLIDE>
         <REPEAT>1</REPEAT>
         <DISPLAYDURATION>2</DISPLAYDURATION>
         <SLIDEELEMENTS>
            <SPATH>C:/DATASTORE/SLIDE/a.gif</SPATH>
            <SPATH>C:/DATASTORE/SLIDE/b.gif</SPATH>
            <SPATH>C:/DATASTORE/SLIDE/c.gif</SPATH>
            <SPATH>C:/DATASTORE/SLIDE/d.gif</SPATH>
            <SPATH>C:/DATASTORE/SLIDE/e.gif</SPATH>
         </SLIDEELEMENTS>
      </SLIDE>
   </SECTION>

Dazu möchte ich eine XPATH-Abfrage anwenden. Der Code dazu sieht dann so aus:

Code:
string XmlFilename = "temp.xml";
XmlDocument doc = new XmlDocument();
doc.Load(XmlFilename);

XmlElement root = doc.DocumentElement;

XmlNodeList testnode = root.SelectNodes("/QV/SECTION");
foreach (XmlNode xm in testnode) 
{
    Console.WriteLine("XPATH found: " + xm.InnerXml);
}

Mein Problem ist nun, dass er mir keine SECTIONs findet, obwohl im Original-File 4 Sections definiert sind. Laut einem XPATH-Tool stimmt auch die XPATH-Abfrage, daran sollte es eigentlich auch nicht liegen.

Selbst wenn ich alle Sections per "//SECTION" bekommen möchte funktionierts nicht. Die einzige XPATH-Abfrage die funktioniert ist ein SelectNodes("/") und das alleine kanns dann auch nicht sein :(

Sämtliche Einträge in der MSDN zeigen auch genau so ein Beispiel. Nur komischerweise funktionierts net ... oder ich bin einfach zu blind und denke zu kompliziert ...

Jemand ne Idee?
 
Zuletzt bearbeitet:
ARGL. Natürlich!

Hab meinen Fehler gerade gefunden:
Wenn man den XML-Namespace nicht beachtet kanns ja auch gar nicht wirklich funktionieren *auf den Kopf hau*
 

Neue Beiträge

Zurück