Compartir a través de


Cómo buscar un elemento secundario (XPath-LINQ to XML)

Actualización: November 2007

En este tema se compara el eje del elemento secundario XPath con el método LINQ to XML Element.

La expresión XPath es DeliveryNotes.

Ejemplo

Este ejemplo busca el elemento secundario DeliveryNotes.

Este ejemplo utiliza el siguiente documento XML: Archivo XML de muestra: varios pedidos de compra (LINQ to XML).

XDocument cpo = XDocument.Load("PurchaseOrders.xml");
XElement po = cpo.Root.Element("PurchaseOrder");

// LINQ to XML query
XElement el1 = po.Element("DeliveryNotes");

// XPath expression
XElement el2 = po.XPathSelectElement("DeliveryNotes");
// same as "child::DeliveryNotes"
// same as "./DeliveryNotes"

if (el1 == el2)
    Console.WriteLine("Results are identical");
else
    Console.WriteLine("Results differ");
Console.WriteLine(el1);
Dim cpo As XDocument = XDocument.Load("PurchaseOrders.xml")
Dim po As XElement = cpo.Root.<PurchaseOrder>.FirstOrDefault

'LINQ to XML query
Dim el1 As XElement = po.<DeliveryNotes>.FirstOrDefault

' XPath expression
Dim el2 As XElement = po.XPathSelectElement("DeliveryNotes")
' same as "child::DeliveryNotes"
' same as "./DeliveryNotes"

If el1 Is el2 Then
    Console.WriteLine("Results are identical")
Else
    Console.WriteLine("Results differ")
End If
Console.WriteLine(el1)

Este ejemplo genera el siguiente resultado:

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

Vea también

Conceptos

LINQ to XML para usuarios de XPath