Diferença entre XMLDocument e XPathDocument

XMLDocument vs um XPathDocument

XMLDocument e XPathDocument são dois namespaces usados ​​ao lidar com arquivos XML. Esses dois são usados ​​ao criar aplicativos que precisam da capacidade de ler ou gravar dados em arquivos XML. A principal diferença entre XMLDocument e XPathDocument é a abordagem. XMLDocument é uma abordagem orientada a objetos. Um objeto é criado e vinculado a um arquivo específico, e o objeto possui os procedimentos e funções necessários para lidar com o referido arquivo. Por outro lado, XPathDocument é uma abordagem orientada a dados. É mais simples que XMLDocument, mas não tem a vantagem da flexibilidade oferecida por XMLDocument.

A maior desvantagem do uso do XPathDocument é a falta de capacidade de modificar o conteúdo do arquivo. Ele está anexado como somente leitura e não há como confirmar nenhuma alteração. XMLDocument pode alterar o conteúdo do arquivo. Ele também pode adicionar novos nós, excluir os existentes e até modificar os atributos do arquivo. Outra grande desvantagem do XPathDocument é sua incapacidade de criar novos documentos do zero. Portanto, você precisa garantir que o arquivo já exista antes de tentar acessá-lo via XPathDocument. O XMLDocument não tem essa limitação e pode criar documentos a partir do zero e adicionar conteúdo a ele.

Apesar das muitas desvantagens do uso do XPathDocument sobre o XMLDocument, também há áreas em que o uso seria benéfico. A simplicidade do XPathDocument oferece uma vantagem de velocidade em relação ao XMLDocument. Por esse motivo, o XPathDocument geralmente é preferido ao ler arquivos muito grandes. O carregamento desses arquivos usando o XMLDocument pode levar muito tempo e não ofereceria vantagem se a única operação executada fosse lida. Para todo o resto ou para aplicativos de uso geral, é melhor usar o XMLDocument, pois é mais flexível e oferece mais recursos. O custo de desempenho também é menos problemático ao lidar com arquivos pequenos e é muito provável que passe despercebido na maioria dos aplicativos.

Resumo:

1.XMLDocument é um modelo orientado a objetos, enquanto XPathDocument é um modelo orientado a dados.
2.XPathDocument fornece apenas acesso de leitura, enquanto XMLDocument fornece acesso de leitura e gravação.
3.XMLDocument permite a criação de um novo documento XML enquanto XPathDocument não.
4.XPathDocument pode ser melhor para ler documentos grandes sobre XMLDocument.