Partilhar via


Preservando espaço em branco ao carregar ou ao analisar XML

This topic describes how to control the white space behavior of LINQ to XML. 

Um cenário comum é ler o XML recuado, criar uma árvore XML na memória sem nenhum nó de texto de espaço em branco (isto é, não preservar espaço em branco), executar algumas operações no XML e, em seguida, salvar o XML com recuo. Quando você serializa o XML com formatação, somente os espaços em branco significativos na árvore XML são preservados. Este é o comportamento padrão para LINQ to XML.

Outro cenário comum é ler e modificar XML que já foi recuado intencionalmente. Você pode não querer modificar este recuo de nenhuma forma. Para fazer isso em LINQ to XML, você preserva o espaço em branco quando você carregar ou analisar XML e desativa o formatação quando você serializa XML.

Este tópico descreve o comportamento de espaço em branco dos métodos que preenchem árvores XML. Para obter informações sobre o espaço em branco de controle quando você serializa árvores XML, consulte Preservando espaço em branco para serializar.

Comportamento dos métodos que preenchem árvores XML

Os seguintes métodos nas classes de XElement e de XDocument preenchem uma árvore XML. Você pode preencher uma árvore XML de um arquivo, um TextReader, um XmlReader, ou de uma cadeia de caracteres:

Se o método não utiliza LoadOptions como um argumento, o método não irá preservar espaço em branco irrisória.

Na maioria dos casos, se o método utiliza LoadOptions como um argumento, você pode opcionalmente preservar espaço em branco irrisória como nós de texto na árvore XML. Entretanto, se o método é carregar XML de XmlReader, então XmlReader determina se o espaço em branco será preservada ou não. A configuração PreserveWhitespace não terá efeito.

Com esses métodos, se o espaço em branco é preservada, o espaço em branco irrisória é inserido na árvore XML como nós de XText . Se o espaço em branco não é preservada, os nós de texto não são inseridos.

Você pode criar uma árvore XML usando XmlWriter. Os nós que são gravados em XmlWriter são preenchidos na árvore. No entanto, quando você cria uma árvore XML usando esse método, todos os nós são mantidos, independentemente se o nó é o espaço em branco ou não, ou se o espaço em branco é significativo ou não.

Consulte também

Conceitos

Analisando XML