2009-11-13 2 views
-1

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

+1

Как вы можете задать этот вопрос после дать ответ о XML-парсеры? http://stackoverflow.com/questions/1722140/how-can-i-parse-xml-using-java/1728265#1728265. Вы, очевидно, уже знаете, что такое парсер, и что существуют разные типы. Troll? –

ответ

1
  • XML Parser является инструментом, который преобразует XML в доступный объекте (EDIT: После замечаний) или в серию событий. В основном все, что вы можете использовать для использования и обработки данных XML

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

2

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

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

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

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

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

+0

Это довольно старая информация, вероятно, вы скопировали ее из wiki –

+0

Да, просто потому, что некоторые люди требуют времени, чтобы написать более длинные ответы, они, должно быть, украли его где-то. Я не говорю, что знаю последнее и самое лучшее в разборе XML. Это всего лишь базовая информация, которую OP может найти на WP или где-то еще. Что касается меня, то все, что я когда-либо рассматривал в отношении XML, было XSLT. Я ничего не использую ежедневно или даже ежемесячно, поэтому я приношу свои извинения за любые неточности.Но обвинять меня в том, что он копировал его из другого места, не совсем приятно. Думаю, я был бы рад за то, что не получил нисходящий ... – Joey

0

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

Смежные вопросы