Extensions.XPathSelectElement Método

Definición

Selecciona un objeto XElement mediante una expresión XPath.

Sobrecargas

XPathSelectElement(XNode, String)

Selecciona un objeto XElement mediante una expresión XPath.

XPathSelectElement(XNode, String, IXmlNamespaceResolver)

Selecciona un XElement utilizando una expresión XPath, que resuelve los prefijos de espacio de nombres mediante el IXmlNamespaceResolver especificado.

XPathSelectElement(XNode, String)

Selecciona un objeto XElement mediante una expresión XPath.

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

Parámetros

node
XNode

XNode en el que se va a evaluar la expresión XPath.

expression
String

String que contiene una expresión XPath.

Devoluciones

XElement

XElement o null.

Ejemplos

En el ejemplo siguiente se crea un árbol XML pequeño y se usa XPathSelectElement para seleccionar un único elemento.

                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)  

Este ejemplo produce el siguiente resultado:

<Child4>4</Child4>  

Se aplica a

XPathSelectElement(XNode, String, IXmlNamespaceResolver)

Selecciona un XElement utilizando una expresión XPath, que resuelve los prefijos de espacio de nombres mediante el IXmlNamespaceResolver especificado.

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

Parámetros

node
XNode

XNode en el que se va a evaluar la expresión XPath.

expression
String

String que contiene una expresión XPath.

resolver
IXmlNamespaceResolver

IXmlNamespaceResolver para los prefijos de espacio de nombres de la expresión XPath.

Devoluciones

XElement

XElement o null.

Ejemplos

En el ejemplo siguiente se crea un árbol XML que contiene un espacio de nombres. Usa un objeto XmlReader para leer el documento XML. Después obtiene un objeto XmlNameTable de XmlReader y un objeto XmlNamespaceManager de XmlNameTable. Usa al XmlNamespaceManager seleccionar un elemento .

                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)  

Este ejemplo produce el siguiente resultado:

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

Comentarios

Puede usar este método para evaluar expresiones XPath que contienen prefijos de espacio de nombres.

Se aplica a