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

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

1. grafillo - 29 Декабря, 2014 - 18:13:31 - перейти к сообщению
Есть XML
CODE (htmlphp):
скопировать код в буфер обмена
  1. <xml>
  2. <bot login="ttt" >VaraBot</bot>
  3. <bot login="ccc">SharaBot</bot>
  4. </xml>

надо его распарсить и добавить в таблицу, кто может написать простой код доступа к login и к содержимому?
делаю через
PHP:
скопировать код в буфер обмена
  1. $xml = new SimpleXMLElement($req);
2. grafillo - 29 Декабря, 2014 - 21:12:18 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $xml = '<xml>
  2. <bot login="ttt" time="11111">VaraBot</bot>
  3. <bot login="ccc" time="11111">SharaBot</bot>
  4. </xml>';
  5.  
  6. $mydata = new SimpleXmlIterator($xml);
  7.  
  8. for ($mydata->rewind();$mydata->valid();$mydata->next()) {
  9. echo($mydata->current()->attributes());
  10. }


нашёл как распарсить, но теперь если появляется второй атрибут time то к нему не могу получить доступ
и ваще непонятно что это за функции и чё они делают rewind() valid() next()
знающие подскажите
3. Мелкий - 29 Декабря, 2014 - 22:24:14 - перейти к сообщению
Ну и нафига вы свой foreach делаете?

Это iterator/traversable, см. http://php.net/manual/en/class.iterator.php
4. skiphog - 30 Декабря, 2014 - 09:33:50 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $xml = simplexml_load_file($xml);
  2. // либо из строки $xml = new SimpleXMLElement($xml)
  3. // бегаем по узлам bot
  4. foreach($xml->bot as $bot) {
  5.   //бегаем по атрибутам узла bot
  6.   foreach($bot->attributes() as $key => $value) {
  7.     echo $key; // здесь атрибут
  8.     echo $value; // здесь значение атрибута
  9.   }
  10.   echo $bot; // сам текст в bot
  11. }

 

Powered by ExBB FM 1.0 RC1