Feedback

C# - XPath mit LINQ to XML

Veröffentlicht von am 2/11/2015
(0 Bewertungen)
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;
Abgelegt unter XPath, LinqtoXML, Query.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!