Feedback

C# - XPath mit LINQ to XML

Veröffentlicht von am 11.02.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
Snippet in VB übersetzen
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!