Разница между XmlDocument и XPathDocument (с таблицей)

Оглавление:

Anonim

Обработка файлов XML очень распространена, потому что они имеют широкое применение, которое включает формат файлов в документах Microsoft Office и Google, обмен данными B2B и т. Д. И XmlDocument, и XPathDocument представляют собой различные способы или, скорее, пространства имен для обработки файлов XML. Но у них разный подход, и они также различаются от функции к функции. Использование XmlDocument и XPathDocument зависит от количества функций, которые пользователь должен выполнить с конкретным XML-документом.

XmlDocument против XPathDocument

Разница между XmlDocument и XPathDocument заключается в том, что XmlDocument имеет возможности как чтения, так и записи, тогда как XPathDocument может читать файлы только в формате XML. Поскольку XPathDocument не имеет возможности записи, он меньше по размеру, но ему не хватает гибкости, как у XmlDocument, поскольку последний может выполнять больше функций.

XmlDocument определяется как класс в памяти, представляющий XML-документ. Пользователи могут использовать этот класс для выполнения нескольких функций, таких как загрузка, проверка, добавление, редактирование и размещение XML в документе. XmlDocument реализует W3C XML DOM (объектная модель документа) уровня 1 и уровня 2 ядра. XmlDocument позволяет загружать XML в DOM с внесением необходимых изменений.

Класс XPathDocument также обеспечивает представление XML-документа в памяти, но, в отличие от XmlDocument, он не позволяет писать. XPathDocument предоставляет возможность только для чтения с использованием модели данных XPath. XPathDocument применяется как к.NET Core, так и к.NET Framework.

Таблица сравнения XmlDocument и XPathDocument

Параметры сравнения

XmlDocument

XPathDocument

Подход XmlDocument имеет объектно-ориентированный подход. Это состоит из создания и привязки объекта к определенному файлу. XPathDocument использует подход, ориентированный на данные.
Читай пиши XmlDocument может выполнять функции чтения и записи наряду с добавлением новых узлов и удалением существующих узлов. XPathDocument может выполнять только функцию чтения и не имеет возможности изменять XML-документ.
Гибкость Поскольку XmlDocument может выполнять несколько функций, таких как чтение, запись, удаление, добавление и изменение атрибутов, он очень гибкий. XPathDocument не так гибок, как XmlDocument, поскольку первый может только читать файлы XML.
Создание документа XmlDocument может создавать документ с нуля, а затем вносить в него изменения. XPathDocument не может создавать документы, поэтому пользователь должен убедиться, что файл существует, прежде чем обращаться к нему.
Скорость XmlDocument не рекомендуется, когда файлы большого размера открываются только для чтения, поскольку это замедляет процесс. Благодаря своей простоте XPathDocument может быстро открывать и читать большие файлы.

Что такое XmlDocument?

Представление XML-документа в памяти, которое может читать, записывать и изменять атрибуты файла, а также класс XmlDocument. Поскольку он выполняет так много функций, обычно XmlDocument предпочтительнее XpathDocument для всех общих экземпляров и целей. Но XmlDocument замедляет процесс открытия очень больших файлов, что является одним из его недостатков.

При открытии XML-файла в DOM, если это конкретное расположение файла, на которое ссылается пользователь, пусто, он генерирует новый XML и загружает его. Это одно из самых больших преимуществ XmlDocument, заключающееся в том, что он может мгновенно создавать новый файл и вносить в него изменения.

XmlDocument позволяет пользователю перемещаться по различным узлам файла. Он может получить доступ как к родительскому, так и к дочернему узлу, а также может перемещаться вперед и назад по родственным узлам. При использовании XmlDocument строка запроса XPath используется для поиска одного или нескольких узлов данных.

Помимо поиска и доступа к различным узлам с разных уровней, XmlDocument также может добавлять или редактировать узлы. Для добавления новых узлов используется метод CreateElement или CreateNode, а для удаления - метод RemoveChild. Положение узлов также можно смещать для удобства.

Что такое XPathDocument?

Класс XPathDocument хорошо известен своим представлением XML-файлов в памяти только для чтения. Это очень простой класс, который не выполняет так много функций с файлами или их узлами. XPathDocument может очень быстро читать большие файлы, и поэтому, когда пользователю нужно только прочитать XML-файл, XPathDocument предпочтительнее XmlDocument.

Для XPathDocument существует несколько конструкторов, используемых для различных целей. Например, XPathDocument (Stream) используется для инициализации нового экземпляра этого класса в объекте Stream. Точно так же XPathDocument (String) также инициализирует новый экземпляр из данных XML, но не конкретно в объекте Stream. Некоторые из других конструкторов - XPathDocument (TextReader), XPathDocument (XmlReader) и т. Д.

В XPathDocument метод CreateNavigator () используется для инициализации объекта XPathNavigator, доступного только для чтения. Это прочитает все существующие узлы в XPathDocument. Метод equals (Object) используется для проверки, равен ли указанный объект текущему объекту или нет. В XPathDocument есть и другие методы, которые расширяют даже его ограниченные функции.

Основные различия между XmlDocument и XPathDocument

Вывод

И XmlDocument, и XPathDocument представляют собой файлы XML в памяти. Если выбран XmlDocument, это означает, что для изменения XML-документа требуется несколько функций. Для целей только для чтения предпочтительнее XPathDocument.

При использовании XPathDocument пользователь должен проявлять бдительность и указывать действительный адрес для файла XML. Поскольку, если файл не существует, XPathDocument не может создать мгновенный файл с нуля и внести изменения.

Кроме того, если файл XML открывается только для чтения, пользователь должен использовать класс XPathDocument. Класс XPathDocument способен очень быстро открывать файлы большего размера, что экономит время, тогда как XmlDocument подходит для всех других целей, кроме чтения очень больших файлов.

использованная литература

Разница между XmlDocument и XPathDocument (с таблицей)