Extensions.XPathSelectElement Método

Definição

Seleciona e XElement usando uma expressão XPath.

Sobrecargas

Name Description
XPathSelectElement(XNode, String)

Seleciona e XElement usando uma expressão XPath.

XPathSelectElement(XNode, String, IXmlNamespaceResolver)

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

XPathSelectElement(XNode, String)

Seleciona e XElement usando 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

O XNode que se deve avaliar a expressão XPath.

expression
String

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

Devoluções

Um XElement, ou nulo.

Exemplos

O exemplo seguinte cria uma pequena árvore XML e é usado 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 e XElement usando 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

O XNode que se deve avaliar a expressão XPath.

expression
String

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

resolver
IXmlNamespaceResolver

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

Devoluções

Um XElement, ou nulo.

Exemplos

O exemplo seguinte cria uma árvore XML que contém um namespace. Utiliza um XmlReader para ler o documento XML. Depois obtém-se um XmlNameTable do XmlReader, e um do .XmlNameTableXmlNamespaceManager Utiliza 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>

Observações

Pode usar este método para avaliar expressões XPath que contenham prefixos de namespace.

Aplica-se a