Laden...

Anzahl in XML auslesen

Letzter Beitrag vor 18 Jahren 4 Posts 1.313 Views
Anzahl in XML auslesen

Mittag!

Wollte mal wissen, ob man von einer XML Datei die ungefähr (ohne header etc.) wie folgt aufgebaut ist, die anzahl der bücher (<buch>) direkt ausgeben lassen kann? Ohne jetzt die ganze datei per hand mit dem xmlreader durchzulaufen und zu vergleichen?


<regal>
     <buch>
        <titel>text text</titel>
        <verlag> testverlag </verlag>
     </buch>
     <buch>
        <titel>titeltext</titel>
        <verlag> testverlag </verlag>
     </buch>
     <buch>
        <titel>ein buchtitel</titel>
        <verlag> verlag x </verlag>
     </buch>
</regal>

Da die XML Datei dynamisch erzeugt wird und von außerhalb stammt, kann ich das auch nicht innerhalb bestimmen...

Jemand ne idee oder so?

thx im voraus

Einfach, aber nicht sehr performant


string XMLFile = ... // komplette Datei in den String einlesen [TextReader.ReadToEnd()]
int count = XMLFile.Split( new string[] {"<buch"}, StringSplitOptions.RemoveEmptyEntries ).Length - 1;

Wie wärs mit ner XPath-Expression?

count(/root/regal/buch)

Root durch das ersetzen, was deine Root-Node ist, oder die XPath-Wildcards * ... Wie auch immer =)

danke erstmal,

habe mich da mal auf die suche gemacht und im msdn was gefunden...



while(reader.ReadToFollowing("buch"))
i++

das geht wunder bar...