Extensions.XPathSelectElement Método

Definição

Seleciona um XElement uso de uma expressão XPath.

Sobrecargas

Nome Description
XPathSelectElement(XNode, String)

Seleciona um XElement uso de uma expressão XPath.

XPathSelectElement(XNode, String, IXmlNamespaceResolver)

Seleciona um XElement uso de uma expressão XPath, resolvendo prefixos de namespace usando o especificado IXmlNamespaceResolver.

XPathSelectElement(XNode, String)

Seleciona um XElement uso de uma expressão 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);
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

No XNode qual avaliar a expressão XPath.

expression
String

Um String que contém uma expressão XPath.

Retornos

Um XElementou nulo.

Exemplos

O exemplo a seguir cria uma árvore XML pequena e usa XPathSelectElement para selecionar um ú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 exemplo produz a seguinte saída:

<Child4>4</Child4>

Aplica-se a

XPathSelectElement(XNode, String, IXmlNamespaceResolver)

Seleciona um XElement uso de uma expressão XPath, resolvendo prefixos de namespace usando o especificado IXmlNamespaceResolver.

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);
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

No XNode qual avaliar a expressão XPath.

expression
String

Um String que contém uma expressão XPath.

resolver
IXmlNamespaceResolver

Um IXmlNamespaceResolver para os prefixos de namespace na expressão XPath.

Retornos

Um XElementou nulo.

Exemplos

O exemplo a seguir cria uma árvore XML que contém um namespace. Ele usa um XmlReader para ler o documento XML. Em seguida, ele obtém um XmlNameTable do XmlReader, e um XmlNamespaceManager do XmlNameTable. Ele usa o XmlNamespaceManager ao selecionar um 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 exemplo produz a seguinte saída:

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

Comentários

Você pode usar esse método para avaliar expressões XPath que contêm prefixos de namespace.

Aplica-se a