Комментарии 10
тоже хотел о нем сказать.
очень удобен и прост.
особенно для чтения всякого рода конфигов, хранимых в xml — просто незаменимая вещь! =)
очень удобен и прост.
особенно для чтения всякого рода конфигов, хранимых в xml — просто незаменимая вещь! =)
НЛО прилетело и опубликовало эту надпись здесь
Да, указанный пример работоспособен, во всяком случае на момент тестирования.
Обратите внимание что исходные данные в 1251 а в результате обработки в PHP их все равно приходилось декодировать из UTF.
Забыл добавить маленький нюанс, ф-я dbg нестандартная, можно написать простейшую обертку для корректной работы
Так же переменная $GLOBALS['E_server_encoding'] обозначает необходимую кодировку.
Все входные и выходные данные действительны, они приведены в статье.
Обратите внимание что исходные данные в 1251 а в результате обработки в PHP их все равно приходилось декодировать из UTF.
Забыл добавить маленький нюанс, ф-я dbg нестандартная, можно написать простейшую обертку для корректной работы
function dbg($v){
return print_r($v);
}
Так же переменная $GLOBALS['E_server_encoding'] обозначает необходимую кодировку.
Все входные и выходные данные действительны, они приведены в статье.
SimpleXml — создает объектную модель документа и полностью грузит её в память, что не эффективно при высокой нагрузке.
В своих проектах используем XMLReader — можно быстро обойти структуру документа и достать всё что нужно, не засирая память и не создавая сложных структур данных.
В своих проектах используем XMLReader — можно быстро обойти структуру документа и достать всё что нужно, не засирая память и не создавая сложных структур данных.
Существует и уже довольно давно неплохие классы из PEAR:
pear.php.net/package/XML_Serializer — xml в массив и массив в xml.
pear.php.net/package/XML_Serializer — xml в массив и массив в xml.
Для сравнения попробуйте DOMXPath
rphp.net/DOMXPath
там можно контекст указать. особенно удобно, когда нужно получить определенные данные из xml
rphp.net/DOMXPath
там можно контекст указать. особенно удобно, когда нужно получить определенные данные из xml
Извините, опечатка в адресе
php.net/DOMXPath
php.net/DOMXPath
php4? o_O
Статья была дописана летом 2008, и на тот момент многие из хостинговых компаний не обновили версии PHP на своих серверах. PHP 4 до сих пор можно встретить у masterhost'a, hoster'a и др., как правило это вызвано нежеланием обновлять версии PHP на площадках с сайтами размещенными ранее 2007 года, поскольку некоторым из таких сайтов может потребоваться обновление кода.
Но, я думаю, что проблематика версии PHP на серверах хостинговых компаний это тема другого разговора, данная статья призвана показать различие технологий низкоуровнего парсинга и использования DOM.
Но, я думаю, что проблематика версии PHP на серверах хостинговых компаний это тема другого разговора, данная статья призвана показать различие технологий низкоуровнего парсинга и использования DOM.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Средства парсинга XML в PHP