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.
Há várias maneiras de modificar os nós e o conteúdo em um documento. É possível:
Altere o valor dos nós usando a Value propriedade.
Modifique um conjunto inteiro de nós substituindo os nós por novos nós. Isso é feito usando a InnerXml propriedade.
Substitua os nós existentes por novos nós usando o RemoveChild método.
Adicionar caracteres aos nós que herdam da classe XmlCharacterData usando os métodos AppendData, InsertData ou ReplaceData.
Modificar o conteúdo removendo um intervalo de caracteres usando o método DeleteData nos tipos de nós que herdam de XmlCharacterData.
Uma técnica simples de alterar o valor de um nó é usar node.Value = "new value";. A tabela a seguir lista os tipos de nó em que essa única linha de código funciona e exatamente quais dados para esse tipo de nó são alterados.
| Tipo de nó | Dados alterados |
|---|---|
| Atributo | O valor do atributo. |
| CDATASection | O conteúdo do CDATASection. |
| Comentário | O conteúdo do comentário. |
| ProcessingInstruction | O conteúdo, excluindo o alvo. |
| Texto | O conteúdo do texto. |
| Declaração XML | O conteúdo da declaração, excluindo a marcação <?xml e ?>. |
| Espaço em branco | O valor do espaço em branco. Você pode definir o valor como um dos quatro caracteres de espaço em branco XML reconhecidos: espaço, guia, CR ou LF. |
| SignificantWhitespace | O valor do significativo espaço em branco. Você pode definir o valor como um dos quatro caracteres de espaço em branco XML reconhecidos: espaço, guia, CR ou LF. |
Qualquer tipo de nó não listado na tabela não é um tipo de nó válido para definir um valor. Definir um valor em qualquer outro tipo de nó gera InvalidOperationException.
A propriedade InnerXml altera a marcação dos nós filho do nó atual. Definir essa propriedade substitui os nós filho pelo conteúdo analisado da cadeia de caracteres especificada. A análise é feita no contexto atual do namespace. Além disso, InnerXml remove declarações de namespace redundantes. Como resultado, várias operações de recortar e colar não aumentam o tamanho do documento com declarações de namespace redundantes. Para obter um exemplo de código mostrando o efeito dos namespaces na InnerXml operação, consulte a InnerXml propriedade.
Ao usar os métodos ReplaceData e RemoveChild, os métodos retornam o nó substituído ou o nó removido. Esse nó pode ser reinserido em outro lugar no DOM (Document Object Model) XML. O método ReplaceData faz duas verificações de validação no nó que está sendo inserido no documento. A primeira verificação garante que o nó está se tornando um nó filho que pode ter nós filho do seu tipo. A segunda verificação garante que o nó que está sendo inserido não é um ancestral do nó do qual está se tornando um filho. Violar qualquer uma dessas condições gera uma InvalidOperationException.
É válido adicionar ou remover um filho somente leitura de um nó que pode ser editado. No entanto, tentativas de modificar o próprio nó somente leitura geram uma InvalidOperationException. Um exemplo disso é modificar os filhos de um nó XmlEntityReference. Os filhos são somente leitura e não podem ser modificados. Qualquer tentativa de modificá-los gera uma InvalidOperationException.