Como recuperar um único elemento filho (LINQ to XML)
Este tópico explica como recuperar um único elemento filho, considerando o nome do elemento filho. Quando você souber que o nome do elemento filho e que há apenas um elemento com esse nome, pode ser conveniente recuperar apenas um elemento, em vez de uma coleção.
O método Element retorna o primeiro filho XElement com o XName especificado.
Se você quiser recuperar um único elemento filho no Visual Basic, uma abordagem comum é usar a propriedade XML e, em seguida, recuperar o primeiro elemento usando a notação do indexador de matriz.
Exemplo
O exemplo a seguir demonstra o uso do método Element. Este exemplo usa a árvore XML chamada po e localiza o primeiro elemento chamado Comment.
O exemplo do Visual Basic mostra o uso da notação do indexador de matriz para recuperar um único elemento.
Este exemplo usa o seguinte documento XML: Arquivo XML de exemplo: ordem de compra típica (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 exemplo gera a seguinte saída:
<DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>
O exemplo a seguir mostra o mesmo código para XML que está em um namespace. Para obter mais informações, consulte Trabalhando com namespaces XML.
Este exemplo usa o seguinte documento XML: Arquivo XML de exemplo: Ordem de compra típico em um 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
Este exemplo gera a seguinte saída:
<aw:DeliveryNotes xmlns:aw="https://www.adventure-works.com">Please leave packages in shed by driveway.</aw:DeliveryNotes>