Да, указанный пример работоспособен, во всяком случае на момент тестирования.
Обратите внимание что исходные данные в 1251 а в результате обработки в PHP их все равно приходилось декодировать из UTF.
Забыл добавить маленький нюанс, ф-я dbg нестандартная, можно написать простейшую обертку для корректной работы
function dbg($v){
return print_r($v);
}
Так же переменная $GLOBALS['E_server_encoding'] обозначает необходимую кодировку.
Все входные и выходные данные действительны, они приведены в статье.
SimpleXml — создает объектную модель документа и полностью грузит её в память, что не эффективно при высокой нагрузке.
В своих проектах используем XMLReader — можно быстро обойти структуру документа и достать всё что нужно, не засирая память и не создавая сложных структур данных.
Статья была дописана летом 2008, и на тот момент многие из хостинговых компаний не обновили версии PHP на своих серверах. PHP 4 до сих пор можно встретить у masterhost'a, hoster'a и др., как правило это вызвано нежеланием обновлять версии PHP на площадках с сайтами размещенными ранее 2007 года, поскольку некоторым из таких сайтов может потребоваться обновление кода.
Но, я думаю, что проблематика версии PHP на серверах хостинговых компаний это тема другого разговора, данная статья призвана показать различие технологий низкоуровнего парсинга и использования DOM.
Средства парсинга XML в PHP