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...