XmlElement - Child-Element laden

06/03/2008 - 23:02 von Thomas Kehl | Report spam
Hallo.

Ich habe mittels XmlDocument.Load() eine XML-Datei geladen und dann mittels
DocumentElement das Root-Element ermittelt. Nun möchte ich gerne anhand
eines Element-Namens das zugehörige Unterelement erhalten. Es soll aber nur
das Element in der direkt darunterliegenden Ebene geholt werden und nicht
aus weiteren Unterstufen. Kann mir jemand einen Tipp geben, wie ich das
machen kann? Herzlichen Dank!

Freundliche Grüsse, Thomas
 

Lesen sie die antworten

#1 Christoph Schneegans
07/03/2008 - 01:52 | Warnen spam
Thomas Kehl schrieb:

Nun möchte ich gerne anhand eines Element-Namens das zugehörige
Unterelement erhalten.



XmlNode.SelectNodes() wendet XPath-Ausdrücke auf einen XML-Knoten
an. Die Auswahl von Kindelementen geschieht mit einem der
einfachsten XPath-Ausdrücke überhaupt:

string xml = "<root><bar/><foo><bar/></foo><bar/></root>";
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
XmlNodeList list = doc.DocumentElement.SelectNodes("bar");
Console.WriteLine(list.Count);

gibt "2" aus, weil es zwei "bar"-Elemente gibt, die Kinder des
Wurzelelements sind. XmlNode.SelectSingleNode() liefert jeweils den
ersten Knoten.

Bspw. <http://msdn2.microsoft.com/en-us/li...6.aspx> zeigt,
was mit XPath noch alles möglich ist.

<http://schneegans.de/sv/> · Schema-Validator für XML

Ähnliche fragen