относительно парсера xml - PullRequest
       7

относительно парсера xml

0 голосов
/ 13 ноября 2009

Что такое парсер xml? сколько существует типов парсеров? Какой самый лучший анализатор XML для анализа XML-документа? как будет работать парсер xml? Кто-нибудь может сказать это вкратце?

Ответы [ 3 ]

2 голосов
/ 13 ноября 2009

Синтаксический анализатор XML, как и любой другой синтаксический анализатор, является инструментом, который преобразует из транспортного представления (в данном случае текстового) в то, к чему вы можете получить доступ из своего кода (в данном случае, дерева или серии событий синтаксического анализа). в зависимости от типа парсера).

В настоящее время существует два основных типа парсеров XML: DOM парсеры , которые создают дерево объектов в памяти из структуры XML, и последовательные парсеры , такие как как SAX .

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

SAX, с другой стороны, представляет собой последовательный подход, который просто сканирует файл XML и генерирует события в зависимости от того, какие синтаксические элементы он находит, например, начальный тег, атрибут, конечный тег и т. Д. на основе этой информации также создайте древовидную структуру, но обычно этот подход намного проще: вы можете начать работу с данными, когда документ прочитан и проанализирован, и вам не нужно ждать, пока все это будет сделано. Однако вы не можете получить доступ ко всему дереву, если хотите. Вы можете прыгать вперед или назад внутри дерева и т. Д.

Идеальный подход для анализа XML-документа зависит от ваших конкретных потребностей приложения. Если вам приходится смотреть на произвольные места в дереве в разные моменты времени, то, очевидно, DOM - лучший способ. Однако, если ваш XML-документ имеет структуру, которая хорошо подходит для чтения от начала до конца и не нужно возвращаться снова, тогда SAX должен работать. Например, для отображения XHTML SAX будет правильным подходом, даже если вам все еще понадобится объектная модель в фоновом режиме. Но для демонстрации, как правило, достаточно просто посмотреть, какие теги используются, и отобразить их.

1 голос
/ 13 ноября 2009
  • Анализатор XML - это инструмент, который преобразует XML в доступный объект (РЕДАКТИРОВАТЬ: После комментариев) или в серию событий. В основном все, что вы можете использовать, чтобы потреблять и обрабатывать данные XML

  • Можете ли вы указать язык для других предложений?

0 голосов
/ 14 ноября 2009

DOM и SAX - условно говоря, старые технологии, для последних ознакомьтесь с STaX и VTD-XML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...