Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не могу выдрать атрибуты из XML
Форумы портала PHP.SU » » XML и его обработка » Не могу выдрать атрибуты из XML

Страниц (1): [1]
 

1. SERIOUS - 24 Сентября, 2012 - 11:19:01 - перейти к сообщению
Пишу парсер для XML
Вот использую такой код для отображения атрибутов, хочу как бы выдрать все атрибуты. Но он мне выдаёт только вот что.

PHP:
скопировать код в буфер обмена
  1. print_r($value);
  2.  
  3. foreach($value->attributes() as $keys=>$values);
  4. {
  5.  
  6. echo ($keys.' - '.$values.'<br>');
  7. }
  8.  



CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. SimpleXMLElement Object
  3. (
  4.     [@attributes] => Array
  5.         (
  6.             [Код] => 1
  7.             [Наименование] => Продавец
  8.             [Публиковать] => true
  9.         )
  10.  
  11. )
  12. Публиковать - true
  13. SimpleXMLElement Object
  14. (
  15.     [@attributes] => Array
  16.         (
  17.             [Код] => 2
  18.             [Наименование] => Категории
  19.             [Публиковать] => true
  20.         )
  21.  
  22. )
  23. Публиковать - true
  24.  

Ну и т.д., т.е. атрибут Публиковать он удачно вытаскивает, а мне не хватает ещё двух параметров это Код и Наименование, для полного счастья. Подскажите где ошибка в коде у меня? Возможно я не в тот раздел пишу, если да, то поправьте.
2. doncarlos911 - 08 Октября, 2012 - 12:04:38 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.         function show_xml_max_number($path){
  4.                 $xml = simplexml_load_file($path);
  5.                 $xmlChildrenCount = $xml->children()->count();
  6.                 for($i = 0; $i < $xmlChildrenCount; $i++){
  7.                         foreach($xml->keyframe[$i]->attributes() as $b) {
  8.                                 echo $b." ";
  9.                         }
  10.                 echo "<br />";
  11.                 }      
  12.         }
  13.         show_xml_max_number($path);
  14.  
  15.  


попробуй так -- у меня работает

 

Powered by ExBB FM 1.0 RC1