Каков самый быстрый синтаксический анализатор XML в PHP?

для определенного проекта мне нужен некоторый способ проанализировать XML и получить данные из него. Так интересно, какой из встроенных синтаксических анализаторов является самым быстрым?

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

20
задан Will Vousden 15 June 2010 в 20:02
поделиться

3 ответа

Самым быстрым парсером будет SAX - ему не нужно создавать dom, и это можно сделать с частичным xml или постепенно. Информацию о парсере PHP SAX (Expat) можно найти здесь . В качестве альтернативы существует парсер DOM на основе libxml с именем SimpleXML . С парсером на основе DOM будет легче работать, но он обычно на несколько порядков медленнее.

9
ответ дан 30 November 2019 в 01:18
поделиться

На самом деле парсеров в PHP не так много.

Наиболее эффективными будут те, которые поставляются с PHP, напишите бенчмарк с DOM и SimpleXML и проверьте, какой из них работает лучше.

-3
ответ дан 30 November 2019 в 01:18
поделиться

Каждое расширение XML имеет свои сильные и слабые стороны. Например, у меня есть скрипт, который анализирует дамп XML-данных из Stack Overflow. Размер файла posts.xml составляет 2,8 ГБ! Для этого большого XML-файла мне пришлось использовать XMLReader , потому что он читает XML в потоковом режиме, вместо того, чтобы пытаться загрузить и представить весь XML-документ в памяти сразу, как это делает расширение DOM.

Итак, вам нужно более конкретно описать, как вы собираетесь использовать XML, чтобы решить, какое расширение PHP использовать.

Все расширения PHP XML предоставляют некоторый метод для чтения данных XML в виде строки.

3
ответ дан 30 November 2019 в 01:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: