Траблы с xpath

Energizer

Guest
Траблы с xpath

Есть такая фигня:
1) xpath работает только если в xml-файле стоит заголовок <?xml version="1.0"?> (без encoding="windows-1251")
2) если xml-файл не содержит русских букв

Установка любезно скомпилированной [DAN]ом библиотеки http://www.desart.ru/php_domxml.dll вызывает массу ругательств php.
Помогите заставить ее работать.

Версия php=4.2.3
 

Energizer

Guest
Эта и многоие другие библиотеки давно уже там!
 

slach

Новичок
>Установка любезно скомпилированной [DAN]ом библиотеки http://www.desart.ru/php_domxml.dll вызывает массу ругательств php.

а каких РУГАтельств ? не подскажешь? кто ругается апач ? php как Warning и Error ? или messsagebox выскакивает какой ?

cдается мне у тебя просто PHP код под старую версию DOMXML заточен...

не работает у тебя потому что php_domxml.dll который не ОТ DAN без поддержки iconv скомпилен...
ну и плюс сам модуль (http://www.desart.ru/php_domxml.dll) малость по другому работать может...
из CVS все таки собирался... если не ошибаюсь...
 

Energizer

Guest
Я немного поправил и теперь как будто перестал ругаться, но возникла острая проблема с шрифтами: РњРёС?Р° - Миша к примеру. Причем работает только когда вставляешь в XML encoding="windows-1251".
 

[DAN]

Старожил PHPClub
Вполне логично. Ты ж должен сказать парсеру, в какой ты кодировке работаешь. Если у тебя и в xslt-файле (строке) встречаются русские буквы, то и в нем (ней) надо кодировку указать.
 

Energizer

Guest
У меня нет здесь "xslt-файлов"
Текст примера взял из форума:
xml здесь: http://www.cbr.ru/scripts/XML_daily.asp?date_req=02/03/2002

$content = @implode('',file("usd.xml"));

if ($content) {
$doc=xmldoc($content);
$ctx=xpath_new_context($doc);
$foo=xpath_eval($ctx,"//Valute[position()=5]/Name/text()");
}

echo $foo->nodeset[0]->content;

В usd.xml строка есть: <?xml version="1.0" encoding="windows-1251" ?>

Выдает абракадабру.

Да, и вот еще что: замена файла extensions/php_domxml.dll на DANов на результат не влияет!

HELP ME!
 
Сверху