druser
Новичок
Поиск по значению аттрибута
/*недавно начал эксперементить с xml*/
Есть xml-файл примерно такого содержания:
<?xml version="1.0" ?>
<error>
<err code="1">No such file or directory</err>
<err code="2">Ivalid login and password</err>
</error>
Хочу получить код, который бы по получении значения переменной $err_code, разбирал данный файл и выводил соответствующее сообщение.
Примерно понимаю как это должно работать, пробовал по-разному, но реализовать че-то не получается
На данном этапе есть такие строчки кода:
...
...
Проблема в том, что $error_code->firstChild->getAttribute('code') ВСЕГДА возвращает значение аттрибута первого тега <err> (т.е. 1), а не того в котором находится в момент итерации в конструкчии foreach /*я понимаю, что с точки зрения php все именно так и должно быть*/.
ЗАРАНЕЕ ВСЕМ СПАСИБО!
p.s. Может кто-нибудь знает, где в инете можно найти ХОРОШУЮ документацию по php5 и xml. Спасибо.
___________________________________________________
Apache 2.0.49 + PHP 5.0.0.RC2 +Windows XP/FreeBSD 5.2.1
/*недавно начал эксперементить с xml*/
Есть xml-файл примерно такого содержания:
<?xml version="1.0" ?>
<error>
<err code="1">No such file or directory</err>
<err code="2">Ivalid login and password</err>
</error>
Хочу получить код, который бы по получении значения переменной $err_code, разбирал данный файл и выводил соответствующее сообщение.
Примерно понимаю как это должно работать, пробовал по-разному, но реализовать че-то не получается
На данном этапе есть такие строчки кода:
...
PHP:
$err_code = 2;
$error = new domDocument;
$error->preserveWhiteSpace = false;
$error->load('error.xml');
$errs = $error->getElementsByTagName('err');
$error_code = $error->documentElement;
foreach ($errs as $err) {
if ($error_code->firstChild->getAttribute('code') == $err_code) {
print $err->firstChild->nodeValue;
}
}
Проблема в том, что $error_code->firstChild->getAttribute('code') ВСЕГДА возвращает значение аттрибута первого тега <err> (т.е. 1), а не того в котором находится в момент итерации в конструкчии foreach /*я понимаю, что с точки зрения php все именно так и должно быть*/.
ЗАРАНЕЕ ВСЕМ СПАСИБО!
p.s. Может кто-нибудь знает, где в инете можно найти ХОРОШУЮ документацию по php5 и xml. Спасибо.
___________________________________________________
Apache 2.0.49 + PHP 5.0.0.RC2 +Windows XP/FreeBSD 5.2.1