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.
O método ImportNode é o mecanismo pelo qual um nó ou uma subárvore inteira do nó são copiados de um XmlDocument para outro. O nó retornado de chamada é uma cópia do nó do documento de origem, incluindo valores de atributo, nome de nó, tipo de nó, e todos os atributos URL relacionados como o prefixo, o nome local, e namespace Uniform Resource Identifier (URI). O documento de origem não foi alterado. Depois que você importou o nó, você ainda precisará adicioná-lo à árvore usando um dos métodos usados para nós de inserção.
Quando o nó é anexado ao novo documento, o novo documento possui o nó. O motivo é que cada nó, quando criado, tem um documento proprietário, mesmo se os nós são criados em partes separados do documento. Esse é um requisito do DOM (Modelo de Objeto de Documento XML) e é imposto pelo design de criação de fábrica na classe XmlDocument . Por exemplo, CreateElement é a única maneira de criar novos nós.
Dependendo do tipo do nó importado e do valor do parâmetro profundo, informações adicionais são copiadas conforme apropriado. Esse método tenta espelhar o comportamento esperado se um fragmento de origem XML ou HTML foi copiado de um documento para outro, contabilizando o fato de que, para XML, os dois documentos podem ter DTDs (definições de tipo de documento) diferentes.
A tabela a seguir descreve o comportamento específico para cada tipo de nó que pode ser importado.
| Tipo de nó | parâmetro deep é verdadeiro | deep parâmetro é falso |
|---|---|---|
| XmlAttribute | O Specified é definido como true no XmlAttribute. Os descendentes do XmlAttribute de origem são importados recursivamente e os nós resultantes são remontados para formar a subárvore correspondente. | O parâmetro deep não se aplica a nós XmlAttribute, pois eles sempre levam seus filhos quando importados. |
| XmlCDataSection | Copia o nó, incluindo seus dados. | Copia o nó, incluindo seus dados. |
| XmlComment | Copia o nó, incluindo seus dados. | Copia o nó, incluindo seus dados. |
| XmlDocumentFragment | Os descendentes do nó de origem são importados recursivamente e os nós resultantes são reorganizados para formar a subárvore correspondente. | Um XmlDocumentFragment vazio é criado. |
| XmlDocumentType | Copia o nó, incluindo seu data.* | Copia o nó, incluindo seu data.* |
| XmlElement | Os descendentes do elemento de origem são importados recursivamente e os nós resultantes são remontados para formar a subárvore correspondente. Nota: Os atributos padrão não são copiados. Se o documento para o qual está sendo importado definir atributos padrão para este nome de elemento, esses atributos serão atribuídos. | Os nós de atributo especificados do elemento de origem são importados e os nós XmlAttribute gerados são anexados ao novo elemento. Os nós descendentes não são copiados. Nota: Os atributos padrão não são copiados. Se o documento para o qual está sendo importado definir atributos padrão para este nome de elemento, esses atributos serão atribuídos. |
| XmlEntityReference | Como os documentos de origem e destino podem ter as entidades definidas de maneira diferente, esse método copia somente o nó XmlEntityReference. O texto de substituição não está incluído. Se o documento de destino tiver a entidade definida, seu valor será atribuído. | Como os documentos de origem e destino podem ter as entidades definidas de maneira diferente, esse método copia somente o nó XmlEntityReference. O texto de substituição não está incluído. Se o documento de destino tiver a entidade definida, seu valor será atribuído. |
| XmlProcessingInstruction | Copia o destino e o valor do nó importado. | Copia o destino e o valor do nó importado. |
| XmlText | Copia o nó, incluindo seus dados. | Copia o nó, incluindo seus dados. |
| XmlSignificantWhitespace | Copia o nó, incluindo seus dados. | Copia o nó, incluindo seus dados. |
| XmlWhitespace | Copia o nó, incluindo seus dados. | Copia o nó, incluindo seus dados. |
| Declaração XML | Copia o destino e o valor do nó importado. | Copia o destino e o valor do nó importado. |
| Todos os outros tipos de nó | Esses tipos de nós não podem ser importados. | Esses tipos de nós não podem ser importados. |
Observação
Embora os nós DocumentType possam ser importados, um documento só pode ter um DocumentType. Assim, uma vez que você importou o tipo de documento, antes de inseri-lo na árvore você precisará certificar-se que não há documento tipo no documento. Para obter informações sobre como remover nós, consulte Removendo nós, conteúdo e valores de um documento XML.