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'utilizzare la proprietà XML e quindi recuperare il primo elemento utilizzando la notazione dell'indicizzatore di matrice.
Esempio
Nell'esempio seguente viene illustrato l'utilizzo del metodo Element. Viene ricercato il primo elemento denominato Comment nella struttura ad albero XML denominata po.
Nell'esempio di Visual Basic viene illustrato l'utilizzo della notazione dell'indicizzatore di matrice per recuperare un singolo elemento.
Nell'esempio viene utilizzato 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)
L'output ottenuto eseguendo l'esempio è il seguente:
<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 ulteriori informazioni, vedere Utilizzo degli spazi dei nomi XML.
Nell'esempio viene utilizzato 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
L'output ottenuto eseguendo l'esempio è il seguente:
<aw:DeliveryNotes xmlns:aw="https://www.adventure-works.com">Please leave packages in shed by driveway.</aw:DeliveryNotes>