Разлика между XMLDocument и XPathDocument

XMLDocument срещу XPathDocument

XMLDocument и XPathDocument са две пространства от имена, които се използват при работа с XML файлове. Тези две се използват при създаване на приложения, които се нуждаят от възможност за четене или записване на данни в XML файлове. Основната разлика между XMLDocument и XPathDocument е подходът. XMLDocument е обектно-ориентиран подход. Създава се обект и се свързва с конкретен файл и обектът има необходимите процедури и функции за работа със споменатия файл. За разлика от това XPathDocument е ориентиран към данни подход. Той е по-прост от XMLDocument, но няма предимството на гъвкавостта, предлагана от XMLDocument.

Най-големият недостатък на използването на XPathDocument е липсата на способност да променя съдържанието на файла. Прилага се само като четене и няма начин да се извършат промени. XMLDocument може да промени съдържанието на файла. Той може също така да добавя нови възли, да изтрива съществуващи и дори да променя атрибутите на файла. Друг основен недостатък на XPathDocument е неспособността му да създава нови документи от нулата. Затова трябва да се уверите, че файлът вече съществува, преди да се опитате да получите достъп до него чрез XPathDocument. XMLDocument няма това ограничение и може да създава документи от нулата и след това да добавя съдържание към него.

Въпреки многото недостатъци на използването на XPathDocument над XMLDocument, има и области, където използването им би било полезно. Простотата на XPathDocument му дава малко предимство на скоростта пред XMLDocument. Поради това XPathDocument често се предпочита при четене от много големи файлове. Зареждането на тези файлове с помощта на XMLDocument може да отнеме много време и не би предложило предимство, ако се прочете единствената извършена операция. За всичко останало или за приложения с общо предназначение е по-добре да използвате XMLDocument, тъй като той е по-гъвкав и предоставя повече функции. Разходите за производителност също са по-малко проблем при работа с малки файлове и е много вероятно да останат незабелязани за повечето приложения.

Резюме:

1.XMLDocument е обектно-ориентиран модел, докато XPathDocument е модел, ориентиран към данни.
2.XPathDocument осигурява достъп само за четене, докато XMLDocument осигурява достъп за четене и запис.
3.XMLDocument позволява създаването на нов XML документ, докато XPathDocument не.
4.XPathDocument може да е по-добър за четене на големи документи през XMLDocument.