Etwas versteckt, doch auch die LINQ to XML Klassen unterstützen XPath.
Benötigter Namespaces
System.Xml
System.Xml.Linq
System.Xml.XPath
System.Linq
var xe = XElement.Parse(@"
<Root xmlns:ns=""MyNamespace"">
<Node>
<Value>Wert A1</Value>
<Value>Wert A2</Value>
</Node>
<Node>
<ns:Value>Wert B</ns:Value>
</Node>
</Root>
");
//Mehrere Knoten abfragen
var values = xe.XPathSelectElements("//Node/Value").Select(node => node.Value).ToArray();
//Zugriff auf Knoten mit speziellem Namespace
XmlNamespaceManager xnm = new XmlNamespaceManager(new NameTable());
xnm.AddNamespace("ns", "MyNamespace");
var nsValue = xe.XPathSelectElement("//Node/ns:Value", xnm).Value;
Kommentare zum Snippet