Лучший XML-парсер для PHP [дубликаты]

141
задан Gras Double 30 June 2017 в 09:43
поделиться

3 ответа

Я должен был бы сказать , SimpleXML берет пирог, потому что это - во-первых расширение, записанное в C, и очень быстро. Но второй, проанализированный документ принимает форму объекта PHP. Таким образом, можно "запросить" как $root->myElement.

103
ответ дан JakeGould 30 June 2017 в 09:43
поделиться
  • 1
    Поскольку это запускает совершенно новый процесс только, чтобы сделать вещи, к которым сам Python способен. – Ignacio Vazquez-Abrams 18 March 2010 в 10:36

Это зависит от того, что Вы пытаетесь сделать с XML-файлами. Если Вы просто пытаетесь считать XML-файл (как конфигурационный файл), Злая Блоха корректна в предложении SimpleXML, так как это создает, какие суммы к вложенному ArrayObjects., например, значению будут доступны $xml-> корень-> ребенок.

, Если Вы надеетесь управлять XML-файлами, Вы являетесь, вероятно, лучшими от использования DOM XML

11
ответ дан dcousineau 30 June 2017 в 09:43
поделиться
  • 1
    существует ошибка в download_url, save_as = queue.get(). должен быть download_url, save_as = self.queue.get(). – disfated 26 November 2011 в 02:08

Посмотрите доступные XML-расширения PHP и см. http://devzone.zend.com/243/ и http: //devzone.zend.com/1035/ для обсуждения тех.

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

Лично я нахожу SimpleXml довольно ограниченным (следовательно, простым) в том, что он предлагает по сравнению с DOM. Вы можете легко переключаться между DOM и SimpleXml, но я обычно не заморачиваюсь и иду напрямую по маршруту DOM. DOM — это реализация W3C DOM API, поэтому вы можете быть знакомы с ним по другим языкам, например по JavaScript.

41
ответ дан 23 November 2019 в 22:50
поделиться
Другие вопросы по тегам:

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