Я уже упоминал SimpleXML, но нужно сказать, что Стерлинг проделал потрясающую работу с ним. Если вы находите XML слишком сложным , ответом будет SimpleXML.
У Zend есть новая статья (от Sterling) с хорошим сравнением DOM и SimpleXML.
SimpleXML не только прост, Sterling также разработал изящное решение для пространств имен XML (что в PHP4 фактически не имеет прямой поддержки), а также добавил поддержку XPath, позволяя вам сосредоточиться на разделе документа XML и «SimpleXML». Это (см. Здесь для примера).
Еще одна интересная функция — это функция simplexml_import_dom () , которая позволяет вам взять любой узел DOM и получить его представление SimpleXML. Это дает вам возможность DOM (в качестве альтернативы XPath) для обхода XML-документа, но простота SimpleXML в том, что вам нужно именно то, что вы хотите. Что-то вроде…
load('somefile.xml'); $nodeList = $doc->get_elements_by_tagname('sometag'); foreach ( $nodelist as $node ) { $simple_node = simplexml_import_dom($node); // Do simple stuff here } ?>
load('somefile.xml'); $nodeList = $doc->get_elements_by_tagname('sometag'); foreach ( $nodelist as $node ) { $simple_node = simplexml_import_dom($node); // Do simple stuff here } ?>
load('somefile.xml'); $nodeList = $doc->get_elements_by_tagname('sometag'); foreach ( $nodelist as $node ) { $simple_node = simplexml_import_dom($node); // Do simple stuff here } ?>
load('somefile.xml'); $nodeList = $doc->get_elements_by_tagname('sometag'); foreach ( $nodelist as $node ) { $simple_node = simplexml_import_dom($node); // Do simple stuff here } ?>
load('somefile.xml'); $nodeList = $doc->get_elements_by_tagname('sometag'); foreach ( $nodelist as $node ) { $simple_node = simplexml_import_dom($node); // Do simple stuff here } ?>
load('somefile.xml'); $nodeList = $doc->get_elements_by_tagname('sometag'); foreach ( $nodelist as $node ) { $simple_node = simplexml_import_dom($node); // Do simple stuff here } ?>
Кстати, один момент, который мне нужно исправить, говоря о XMLReader , я сказал, что PHP не имеет API-интерфейса «Стиль курсора» для XML — это на самом деле неверно, поскольку вы можете применять операторы XPath как к расширению DOM, так и теперь к SimpleXML, с документ, который уже был загружен.
В любом случае, я думаю, что «продавать» PHP5, вероятно, будет не новая объектная модель, а новые классные расширения, такие как SimpleXML, Tidy HTML , SQLite , SOAP и многие другие. Действия говорят громче, чем объекты …