Pull to refresh

Comments 10

перед кустарными тестами, надо выучить мат. часть полностью
SimpleXml
А то сравнение лопат с кирпичами получилось
тоже хотел о нем сказать.
очень удобен и прост.
особенно для чтения всякого рода конфигов, хранимых в xml — просто незаменимая вещь! =)
UFO just landed and posted this here
Да, указанный пример работоспособен, во всяком случае на момент тестирования.
Обратите внимание что исходные данные в 1251 а в результате обработки в PHP их все равно приходилось декодировать из UTF.

Забыл добавить маленький нюанс, ф-я dbg нестандартная, можно написать простейшую обертку для корректной работы

function dbg($v){
return print_r($v);
}


Так же переменная $GLOBALS['E_server_encoding'] обозначает необходимую кодировку.

Все входные и выходные данные действительны, они приведены в статье.
SimpleXml — создает объектную модель документа и полностью грузит её в память, что не эффективно при высокой нагрузке.
В своих проектах используем XMLReader — можно быстро обойти структуру документа и достать всё что нужно, не засирая память и не создавая сложных структур данных.
Существует и уже довольно давно неплохие классы из PEAR:
pear.php.net/package/XML_Serializer — xml в массив и массив в xml.
Для сравнения попробуйте DOMXPath
rphp.net/DOMXPath
там можно контекст указать. особенно удобно, когда нужно получить определенные данные из xml
Статья была дописана летом 2008, и на тот момент многие из хостинговых компаний не обновили версии PHP на своих серверах. PHP 4 до сих пор можно встретить у masterhost'a, hoster'a и др., как правило это вызвано нежеланием обновлять версии PHP на площадках с сайтами размещенными ранее 2007 года, поскольку некоторым из таких сайтов может потребоваться обновление кода.

Но, я думаю, что проблематика версии PHP на серверах хостинговых компаний это тема другого разговора, данная статья призвана показать различие технологий низкоуровнего парсинга и использования DOM.
Sign up to leave a comment.

Articles