Cómo realizar consultas de LINQ to XML con XPath

Este tema presenta los métodos de extensión que permiten consultar un árbol XML con XPath.Para obtener información detallada acerca del uso de estos métodos de extensión, vea System.Xml.XPath.Extensions.

A menos que tenga un motivo muy específico para realizar consultas con XPath, como en el caso del uso intensivo de código heredado, no se recomienda usar XPath con LINQ to XML.Las consultas XPath no se realizarán tan bien como las consultas LINQ to XML.

Ejemplo

En el ejemplo siguiente se crea un árbol XML pequeño y se utiliza XPathSelectElements para seleccionar un conjunto de elementos.

XElement root = new XElement("Root",
    new XElement("Child1", 1),
    new XElement("Child1", 2),
    new XElement("Child1", 3),
    new XElement("Child2", 4),
    new XElement("Child2", 5),
    new XElement("Child2", 6)
);
IEnumerable<XElement> list = root.XPathSelectElements("./Child2");
foreach (XElement el in list)
    Console.WriteLine(el);
Dim root As XElement = _
    <Root>
        <Child1>1</Child1>
        <Child1>2</Child1>
        <Child1>3</Child1>
        <Child2>4</Child2>
        <Child2>5</Child2>
        <Child2>6</Child2>
    </Root>

Dim list As IEnumerable(Of XElement) = root.XPathSelectElements("./Child2")
For Each el As XElement In list
    Console.WriteLine(el)
Next

Este ejemplo genera el siguiente resultado:

<Child2>4</Child2>
<Child2>5</Child2>
<Child2>6</Child2>

Vea también

Conceptos

Técnicas avanzadas de consulta (LINQ to XML)