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.
Este artigo descreve os argumentos válidos que podem ser passados para construtores e métodos que você usa para adicionar conteúdo a elementos e documentos.
Tipos válidos para o construtor XElement
As consultas geralmente avaliam para IEnumerable<T> de XElement ou IEnumerable<T> de XAttribute. Você pode passar coleções de objetos XElement ou XAttribute para o construtor XElement. É por isso que é conveniente transmitir os resultados de uma consulta como conteúdo para métodos e construtores que você usa para preencher árvores XML.
Ao adicionar conteúdo simples, vários tipos podem ser passados para esse método, incluindo:
- String
- Double
- Single
- Decimal
- Boolean
- DateTime
- TimeSpan
- DateTimeOffset
- Qualquer tipo que implemente
Object.ToString. - Qualquer tipo que implemente IEnumerable<T>.
Ao adicionar conteúdo complexo, vários tipos podem ser passados para esse método, incluindo:
- XObject
- XNode
- XAttribute
- Qualquer tipo que implementa IEnumerable<T>
Se um objeto implementar IEnumerable<T>, a coleção no objeto será enumerada e todos os itens da coleção serão adicionados. Se a coleção contiver objetos XNode ou XAttribute, cada item da coleção será adicionado separadamente. Se a coleção contiver texto (ou objetos convertidos em texto), o texto na coleção será concatenado e adicionado como um único nó de texto.
Se o conteúdo for null, nada será adicionado. Ao passar uma coleção, os itens na coleção pode ser null. Um item null na coleção não tem efeito na árvore.
Um atributo adicionado deve ter um nome exclusivo dentro do elemento que contém.
Ao adicionar objetos XNode ou XAttribute, se o novo conteúdo não tiver pai, os objetos serão simplesmente anexados à árvore XML. Se o novo conteúdo já tiver um pai e fizer parte de outra árvore XML, o novo conteúdo será clonado, e o conteúdo recém-clonado será anexado à árvore XML.
Tipos válidos para o construtor XDocument
Atributos e conteúdo simples não podem ser adicionados a um documento.
Não há muitos cenários que exijam a criação de um XDocument. Em vez disso, você normalmente pode criar suas árvores XML com um nó raiz de XElement. A menos que você tenha um requisito específico para criar um documento (por exemplo, porque você precisa criar instruções de processamento e comentários no nível superior ou ter que dar suporte a tipos de documento), geralmente é mais conveniente usar XElement como seu nó raiz.
Os tipos válidos para o construtor XDocument incluem o seguinte:
- Zero ou um objeto XDocumentType. Os tipos de documento devem vir antes do elemento.
- Zero ou um elemento.
- Zero ou mais comentários.
- Zero ou mais instruções de processamento.
- Zero ou mais nós de texto que contêm somente espaço em branco.
Construtores e funções para adicionar conteúdo
Os métodos a seguir permitem adicionar conteúdo filho a um XElement ou a um XDocument:
| Método | Descrição |
|---|---|
| XElement | Constrói um XElement. |
| XDocument | Constrói um XDocument. |
| Add | Adiciona ao final do conteúdo filho do XElement ou do XDocument. |
| AddAfterSelf | Adiciona conteúdo depois de XNode. |
| AddBeforeSelf | Adiciona conteúdo antes de XNode. |
| AddFirst | Adiciona conteúdo ao início do conteúdo filho de XContainer. |
| ReplaceAll | Substitui todo o conteúdo (nós filho e atributos) de um XElement. |
| ReplaceAttributes | Substitui os atributos de um XElement. |
| ReplaceNodes | Substitui os nós filho pelo novo conteúdo. |
| ReplaceWith | Substitui um nó pelo novo conteúdo. |