Procedura: recuperare un singolo elemento figlio (LINQ to XML)
In questo argomento viene illustrato come recuperare un singolo elemento figlio, dato il relativo nome. Quando si conosce il nome dell'elemento figlio e si ha la certezza che ne esista solo uno con tale nome, può risultare utile recuperare un singolo elemento, anziché una raccolta.
Il metodo Element restituisce il primo elemento XElement figlio con l'oggetto XName specificato.
Per recuperare un singolo elemento figlio in Visual Basic, l'approccio più diffuso consiste nell'usare la proprietà XML e quindi recuperare il primo elemento usando la notazione dell'indicizzatore di matrice.
Esempio
Nell'esempio seguente viene illustrato l'uso del metodo Element. Viene ricercato il primo elemento denominato Comment nell'albero XML denominato po.
Nell'esempio di Visual Basic viene illustrato l'uso della notazione dell'indicizzatore di matrice per recuperare un singolo elemento.
Nell'esempio viene usato il seguente documento XML: File XML di esempio: Typical Purchase Order (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)
Questo esempio produce il seguente output:
<DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>
Nell'esempio seguente viene illustrato lo stesso codice per XML all'interno di uno spazio dei nomi. Per altre informazioni, vedere Utilizzo degli spazi dei nomi XML.
Nell'esempio viene usato il seguente documento XML: File XML di esempio: Typical Purchase Order in a Namespace
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
Questo esempio produce il seguente output:
<aw:DeliveryNotes xmlns:aw="https://www.adventure-works.com">Please leave packages in shed by driveway.</aw:DeliveryNotes>