Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A XElement classe é uma das classes fundamentais em LINQ to XML. Ele representa um elemento XML. A lista a seguir mostra para o que você pode usar esta classe:
- Criar elementos.
- Altere o conteúdo do elemento.
- Adicionar, alterar ou excluir elementos filho.
- Adicione atributos a um elemento.
- Serialize o conteúdo de um elemento no formato de texto.
Você também pode interoperar com outras classes em System.Xml, como XmlReader, XmlWritere XslCompiledTransform.
Este artigo descreve a funcionalidade fornecida pela XElement classe.
Construir árvores XML
Você pode construir árvores XML de diferentes maneiras, incluindo o seguinte:
- Você pode construir uma árvore XML no código. Para obter mais informações, consulte árvores XML.
- Você pode analisar XML de várias fontes, incluindo um TextReaderarquivo de texto ou uma URL (endereço Web). Para obter mais informações, consulte Parse XML.
- Você pode usar um XmlReader para popular a árvore. Para obter mais informações, consulte ReadFrom.
- Se você tiver um módulo que possa gravar conteúdo em um XmlWriter, poderá usar o método CreateWriter para criar um gravador, passar o gravador para o módulo e, em seguida, usar o conteúdo gravado no XmlWriter para preencher a árvore XML.
O exemplo a seguir cria uma árvore. A versão do C# usa criações de elemento aninhado. Você pode usar a mesma técnica no Visual Basic, mas este exemplo usa literais XML.
XElement contacts =
new XElement("Contacts",
new XElement("Contact",
new XElement("Name", "Patrick Hines"),
new XElement("Phone", "206-555-0144"),
new XElement("Address",
new XElement("Street1", "123 Main St"),
new XElement("City", "Mercer Island"),
new XElement("State", "WA"),
new XElement("Postal", "68042")
)
)
);
Dim contacts As XElement = _
<Contacts>
<Contact>
<Name>Patrick Hines</Name>
<Phone>206-555-0144</Phone>
<Address>
<Street1>123 Main St</Street1>
<City>Mercer Island</City>
<State>WA</State>
<Postal>68042</Postal>
</Address>
</Contact>
</Contacts>
Você também pode usar uma consulta LINQ to XML para preencher uma árvore XML, conforme mostrado no exemplo a seguir:
XElement srcTree = new XElement("Root",
new XElement("Element", 1),
new XElement("Element", 2),
new XElement("Element", 3),
new XElement("Element", 4),
new XElement("Element", 5)
);
XElement xmlTree = new XElement("Root",
new XElement("Child", 1),
new XElement("Child", 2),
from el in srcTree.Elements()
where (int)el > 2
select el
);
Console.WriteLine(xmlTree);
Dim srcTree As XElement = _
<Root>
<Element>1</Element>
<Element>2</Element>
<Element>3</Element>
<Element>4</Element>
<Element>5</Element>
</Root>
Dim xmlTree As XElement = _
<Root>
<Child>1</Child>
<Child>2</Child>
<%= From el In srcTree.Elements() _
Where el.Value > 2 _
Select el %>
</Root>
Console.WriteLine(xmlTree)
Este exemplo produz a seguinte saída:
<Root>
<Child>1</Child>
<Child>2</Child>
<Element>3</Element>
<Element>4</Element>
<Element>5</Element>
</Root>
Serializar árvores XML
Você pode serializar a árvore XML em um File, um TextWriterou um XmlWriter.
Para obter mais informações, consulte Serializar árvores XML.
Recuperar dados XML por meio de métodos de eixo
Você pode usar métodos de eixo para recuperar atributos, elementos filho, elementos descendentes e elementos ancestrais. As consultas LINQ to XML operam em métodos de eixo e fornecem várias maneiras flexíveis e poderosas de navegar e processar uma árvore XML.
Para obter mais informações, consulte a visão geral dos eixos LINQ to XML.
Consultar árvores XML
Você pode escrever consultas LINQ to XML que extraem dados de uma árvore XML.
Para obter mais informações, consulte a visão geral das árvores XML de consulta.
Modificar árvores XML
Você pode modificar um elemento de diferentes maneiras, incluindo alterar seu conteúdo ou atributos. Você também pode remover um elemento de seu pai.
Para obter mais informações, consulte Modificar árvores XML.