Поиск по значению аттрибута

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, разбирал данный файл и выводил соответствующее сообщение.
Примерно понимаю как это должно работать, пробовал по-разному, но реализовать че-то не получается:(
На данном этапе есть такие строчки кода:

...
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
 

druser

Новичок
PHP:
$err_code = 2;

$error = new domDocument;
      $error->preserveWhiteSpace = false;
      $error->load('error.xml');
	  
	  foreach ($error->getElementsByTagName('err') as $err) { 
         if ($err->getAttribute('code') == $err_code) { 
            print $err->firstChild->nodeValue . "\n<br>"; 
         }
      }
P.s. Это то, что мне было нужно :)
 
Сверху