Freigeben über


Extensions.XPathSelectElement Methode

Definition

Wählt mithilfe eines XPath-Ausdrucks ein XElement aus.

Überlädt

XPathSelectElement(XNode, String)

Wählt mithilfe eines XPath-Ausdrucks ein XElement aus.

XPathSelectElement(XNode, String, IXmlNamespaceResolver)

Wählt mithilfe eines XPath-Ausdrucks ein XElement aus und löst Namespacepräfixe mit dem angegebenen IXmlNamespaceResolver auf.

XPathSelectElement(XNode, String)

Wählt mithilfe eines XPath-Ausdrucks ein XElement aus.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Xml::Linq::XElement ^ XPathSelectElement(System::Xml::Linq::XNode ^ node, System::String ^ expression);
public static System.Xml.Linq.XElement? XPathSelectElement (this System.Xml.Linq.XNode node, string expression);
public static System.Xml.Linq.XElement XPathSelectElement (this System.Xml.Linq.XNode node, string expression);
static member XPathSelectElement : System.Xml.Linq.XNode * string -> System.Xml.Linq.XElement
<Extension()>
Public Function XPathSelectElement (node As XNode, expression As String) As XElement

Parameter

node
XNode

Der XNode, in dem der XPath-Ausdruck ausgewertet wird.

expression
String

Ein String, der einen XPath-Ausdruck enthält.

Gibt zurück

XElement

Ein XElement oder NULL.

Beispiele

Im folgenden Beispiel wird eine kleine XML-Struktur erstellt und zum Auswählen eines einzelnen Elements verwendet XPathSelectElement .

                XElement root = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XElement("Child5", 5),  
    new XElement("Child6", 6)  
);  
XElement el = root.XPathSelectElement("./Child4");  
Console.WriteLine(el);  
                Dim root As XElement = _  
    <Root>  
        <Child1>1</Child1>  
        <Child2>2</Child2>  
        <Child3>3</Child3>  
        <Child4>4</Child4>  
        <Child5>5</Child5>  
        <Child6>6</Child6>  
    </Root>  
Dim el As XElement = root.XPathSelectElement("./Child4")  
Console.WriteLine(el)  

Dieses Beispiel erzeugt die folgende Ausgabe:

<Child4>4</Child4>  

Gilt für

XPathSelectElement(XNode, String, IXmlNamespaceResolver)

Wählt mithilfe eines XPath-Ausdrucks ein XElement aus und löst Namespacepräfixe mit dem angegebenen IXmlNamespaceResolver auf.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Xml::Linq::XElement ^ XPathSelectElement(System::Xml::Linq::XNode ^ node, System::String ^ expression, System::Xml::IXmlNamespaceResolver ^ resolver);
public static System.Xml.Linq.XElement? XPathSelectElement (this System.Xml.Linq.XNode node, string expression, System.Xml.IXmlNamespaceResolver? resolver);
public static System.Xml.Linq.XElement XPathSelectElement (this System.Xml.Linq.XNode node, string expression, System.Xml.IXmlNamespaceResolver resolver);
static member XPathSelectElement : System.Xml.Linq.XNode * string * System.Xml.IXmlNamespaceResolver -> System.Xml.Linq.XElement
<Extension()>
Public Function XPathSelectElement (node As XNode, expression As String, resolver As IXmlNamespaceResolver) As XElement

Parameter

node
XNode

Der XNode, in dem der XPath-Ausdruck ausgewertet wird.

expression
String

Ein String, der einen XPath-Ausdruck enthält.

resolver
IXmlNamespaceResolver

Ein IXmlNamespaceResolver für die Namespacepräfixe im XPath-Ausdruck.

Gibt zurück

XElement

Ein XElement oder NULL.

Beispiele

Im folgenden Beispiel wird eine XML-Struktur erstellt, die einen Namespace enthält. Zum Lesen des XML-Dokuments kommt dabei ein XmlReader zum Einsatz. Anschließend werden eine XmlNameTable aus dem XmlReader und ein XmlNamespaceManager aus der XmlNameTable abgerufen. Es verwendet die XmlNamespaceManager Auswahl eines Elements.

                string markup = @"  
<aw:Root xmlns:aw='http://www.adventure-works.com'>  
    <aw:Child1>child one data</aw:Child1>  
    <aw:Child2>child two data</aw:Child2>  
</aw:Root>";  
XmlReader reader = XmlReader.Create(new StringReader(markup));  
XElement root = XElement.Load(reader);  
XmlNameTable nameTable = reader.NameTable;  
XmlNamespaceManager namespaceManager = new XmlNamespaceManager(nameTable);  
namespaceManager.AddNamespace("aw", "http://www.adventure-works.com");  
XElement child1 = root.XPathSelectElement("./aw:Child1", namespaceManager);  
Console.WriteLine(child1);  
                Dim markup As XElement = _  
    <aw:Root xmlns:aw='http://www.adventure-works.com'>  
        <aw:Child1>child one data</aw:Child1>  
        <aw:Child2>child two data</aw:Child2>  
    </aw:Root>  
Dim reader As XmlReader = markup.CreateReader  
Dim nameTable As XmlNameTable = reader.NameTable  
Dim namespaceManager As XmlNamespaceManager = New XmlNamespaceManager(nameTable)  
namespaceManager.AddNamespace("aw", "http://www.adventure-works.com")  
Dim child1 As XElement = markup.XPathSelectElement("./aw:Child1", namespaceManager)  
Console.WriteLine(child1)  

Dieses Beispiel erzeugt die folgende Ausgabe:

<aw:Child1 xmlns:aw="http://www.adventure-works.com">child one data</aw:Child1>  

Hinweise

Sie können diese Methode verwenden, um XPath-Ausdrücke zu bewerten, die Namespacepräfixe enthalten.

Gilt für