XContainer.Element(XName) Método

Definição

Obtém o primeiro elemento filho (na ordem de documentos) com o XName especificado.

public System.Xml.Linq.XElement Element (System.Xml.Linq.XName name);
public System.Xml.Linq.XElement? Element (System.Xml.Linq.XName name);

Parâmetros

name
XName

O XName correspondente.

Retornos

XElement

Um XElement que corresponde ao XName ou null especificado.

Exemplos

O exemplo a seguir mostra dois usos desse método. Em um caso, o método localiza o elemento em srcTree. No segundo caso, o método não encontra o elemento na árvore de origem, nenhum elemento é adicionado xmlTreee nenhuma exceção é lançada.

Observe que o exemplo de Visual Basic usa a propriedade XML filho. Também é permitido usar o Element método diretamente em Visual Basic.

XElement srcTree = new XElement("Root",  
    new XElement("Element1", 1),  
    new XElement("Element2", 2),  
    new XElement("Element3", 3),  
    new XElement("Element4", 4),  
    new XElement("Element5", 5)  
);  
XElement xmlTree = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XElement("Child5", 5),  
    srcTree.Element("Element3"),  
    // Even though Element9 does not exist in srcTree, the following line  
    // will not throw an exception.  
    srcTree.Element("Element9")  
);  
Console.WriteLine(xmlTree);  

Esse exemplo gera a saída a seguir:

<Root>  
  <Child1>1</Child1>  
  <Child2>2</Child2>  
  <Child3>3</Child3>  
  <Child4>4</Child4>  
  <Child5>5</Child5>  
  <Element3>3</Element3>  
</Root>  

O exemplo a seguir é o mesmo, mas nesse caso o XML está em um namespace. Para obter mais informações, consulte Trabalhar com namespaces XML.

XNamespace aw = "http://www.adventure-works.com";  
XElement srcTree = new XElement(aw + "Root",  
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),  
    new XElement(aw + "Element1", 1),  
    new XElement(aw + "Element2", 2),  
    new XElement(aw + "Element3", 3),  
    new XElement(aw + "Element4", 4),  
    new XElement(aw + "Element5", 5)  
);  
XElement xmlTree = new XElement(aw + "Root",  
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),  
    new XElement(aw + "Child1", 1),  
    new XElement(aw + "Child2", 2),  
    new XElement(aw + "Child3", 3),  
    new XElement(aw + "Child4", 4),  
    new XElement(aw + "Child5", 5),  
    srcTree.Element(aw + "Element3"),  
    // Even though Element9 does not exist in srcTree, the following line  
    // will not throw an exception.  
    srcTree.Element(aw + "Element9")  
);  
Console.WriteLine(xmlTree);  

Esse exemplo gera a saída a seguir:

<aw:Root xmlns:aw="http://www.adventure-works.com">  
  <aw:Child1>1</aw:Child1>  
  <aw:Child2>2</aw:Child2>  
  <aw:Child3>3</aw:Child3>  
  <aw:Child4>4</aw:Child4>  
  <aw:Child5>5</aw:Child5>  
  <aw:Element3>3</aw:Element3>  
</aw:Root>  

Comentários

Retorna null se não houver nenhum elemento com o nome especificado.

Alguns métodos de eixo retornam coleções de elementos ou atributos. Esse método retorna apenas um único elemento.

Esse método retornará null se o elemento com o nome especificado não for encontrado. Todos os métodos que permitem que você construa elementos (o construtor de XElement, Adde assim por diante) aceitam null como um argumento válido. Isso permite que você use um idioma conveniente: você pode chamar esse método como parte da construção funcional e o elemento é adicionado à árvore XML que está sendo construída se e somente se o elemento existir na árvore de origem. O exemplo a seguir mostra esse idioma.

Em contraste com Elements, esse método não é um método de eixo. Ele não usa a execução adiada; ele simplesmente retorna um elemento quando chamado.

Aplica-se a

Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Confira também