Compartir a través de


Cómo recuperar un único elemento secundario (LINQ to XML)

Actualización: November 2007

En este tema se explica cómo recuperar un único elemento secundario, dado el nombre del elemento secundario. Si conoce el nombre del elemento secundario y que sólo hay un elemento que tiene ese nombre, puede resultar cómodo recuperar solamente un elemento, en lugar de una recopilación.

El método Element devuelve el primer XElement secundario con el XName especificado.

Si desea recuperar un único elemento secundario de Visual Basic, un enfoque común consiste en utilizar la propiedad XML y después recuperar el primer elemento mediante una notación de indizador de matriz.

Ejemplo

En el siguiente ejemplo se muestra el uso del método Element. Este ejemplo toma un árbol XML con el nombre po y busca el primer elemento con el nombre Comment.

El ejemplo de Visual Basic muestra el uso de la notación del indizador de matriz para recuperar un elemento único.

Este ejemplo utiliza el siguiente documento XML: Archivo XML de muestra: pedido de compra típico (LINQ to XML).

XElement po = XElement.Load("PurchaseOrder.xml");
XElement e = po.Element("DeliveryNotes");
Console.WriteLine(e);
Dim po As XElement = XElement.Load("PurchaseOrder.xml")
Dim e As XElement = po.<DeliveryNotes>(0)
Console.WriteLine(e)

Este ejemplo genera el siguiente resultado:

<DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>

El siguiente ejemplo muestra el mismo código sobre un XML que se encuentra en un espacio de nombres. Para obtener más información, vea Trabajar con espacios de nombres XML.

Este ejemplo utiliza el siguiente documento XML: Archivo XML de muestra: pedido de compra típico en un espacio de nombres.

XElement po = XElement.Load("PurchaseOrderInNamespace.xml");
XNamespace aw = "https://www.adventure-works.com";
XElement e = po.Element(aw + "DeliveryNotes");
Console.WriteLine(e);
Imports <xmlns:aw="https://www.adventure-works.com">

Module Module1
    Sub Main()
        Dim po As XElement = XElement.Load("PurchaseOrderInNamespace.xml")
        Dim e As XElement = po.<aw:DeliveryNotes>(0)
        Console.WriteLine(e)
    End Sub
End Module

Este ejemplo genera el siguiente resultado:

<aw:DeliveryNotes xmlns:aw="https://www.adventure-works.com">Please leave packages in shed by driveway.</aw:DeliveryNotes>

Vea también

Conceptos

Ejes LINQ to XML