[DOM_XML] Чтение атрибута

  • Автор темы Автор темы Ads
  • Дата начала Дата начала

Ads

Новичок
[DOM_XML] Чтение атрибута

как можно прочесть атрибуты не корневого узла?
пробывал
DomAttribute->value — Returns value of attribute
# DomElement->get_attribute_node() — Returns the node of the given attribute
# DomElement->get_attribute() — Returns the value of the given attribute
выводит атрибуты, но только корневого узла.
 
PHP:
<?php

$xmlString = array();
$xmlString[] = '<Root>';
$xmlString[] = '<Child name="John"/>';
$xmlString[] = '</Root>';

$xml = new DOMDocument('1.0', 'windows-1251');
$xml->loadXML(join("", $xmlString));
$nodeList = $xml->getElementsByTagName('Child');
echo $nodeList->item(0)->getAttribute('name');

?>

-~{}~ 11.03.08 23:03:

DomElement->get_attribute_node() — Returns the node of the given attribute
# DomElement->get_attribute() — Returns the value of the given attribute
Правда судя по этому, у вас DOM XML, но принцип один
 
Автор оригинала: IIIEPJIOK
PHP:
echo $nodeList->item(0)->getAttribute('name');

Что делает Item()
Fatal error: Call to a member function item() on a non-object in P:\home\l.ru\www\s.php on line 81

Дело в том что после
PHP:
$obm_array = $dom->get_elements_by_tagname('obmen')
Возвращается не обьект а массив.
 
я вроде как дописал
Правда судя по этому, у вас DOM XML, но принцип один
И тем самым я предположил, что донес мысль о том, что код написан с использованием другой библиотеки.....
Ошибся.... прошу простить :)



Возвращается не обьект а массив
Отлично! Теперь давайте разберемся, что является элементами возвращаемого массива....
 
Благодарю за помощь...
получилось так.
PHP:
$obm_array = $dom->get_elements_by_tagname('obmen')
$obm_array[0]->get_attribute('ИМЯ АТРИБУТА')
Я просто забыл что get_elements_by_tagname('obmen') возвращаетс массив со всеми Обьектами узлов obmen, а не только первого.
 
Сверху