Я должен был бы сказать , SimpleXML берет пирог, потому что это - во-первых расширение, записанное в C, и очень быстро. Но второй, проанализированный документ принимает форму объекта PHP. Таким образом, можно "запросить" как $root->myElement
.
Это зависит от того, что Вы пытаетесь сделать с XML-файлами. Если Вы просто пытаетесь считать XML-файл (как конфигурационный файл), Злая Блоха корректна в предложении SimpleXML, так как это создает, какие суммы к вложенному ArrayObjects., например, значению будут доступны $xml-> корень-> ребенок.
, Если Вы надеетесь управлять XML-файлами, Вы являетесь, вероятно, лучшими от использования DOM XML
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.