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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Парсинг XML

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Не получается распарсить XML в массив для занесения в базу данных
Paul_V
Отправлено: 17 Сентября, 2012 - 14:18:17
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Добрый день. Пытаюсь распарсить .xml примерно следующего содержания:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?xml version = "1.0" encoding = "utf-8"?>
  3. <root>
  4.         <data>
  5.                 <string name="actualdate" value="2012-09-17 08:25:46" />
  6.                 <integer name="count" value="92" />
  7.         </data>
  8.        
  9.         <list>
  10.         <family name="family 1">
  11.                 <unit>
  12.                         <id>112</id>
  13.                         <name>Unit 112</name>
  14.                 </unit>
  15.                 <unit>
  16.                         <id>224</id>
  17.                         <name>Unit 224</name>
  18.                 </unit>
  19.                 <unit>
  20.                         <id>256</id>
  21.                         <name>Unit 256</name>
  22.                 </unit>
  23.         </family>
  24.         <family name="family 2">
  25.                 <unit>
  26.                         <id>65</id>
  27.                         <name>Unit 65</name>
  28.                 </unit>
  29.                 <unit>
  30.                         <id>62</id>
  31.                         <name>Unit 62</name>
  32.                 </unit>
  33.                 <unit>
  34.                         <id>63</id>
  35.                         <name>Unit 63</name>
  36.                 </unit>
  37.                 <unit>
  38.                         <id>116</id>
  39.                         <name>Unit 116</name>
  40.                 </unit>
  41.         </family>
  42.         <family name="family 3">
  43.                 <unit>
  44.                         <id>30</id>
  45.                         <name>Unit 30</name>
  46.                 </unit>
  47.                 <unit>
  48.                         <id>31</id>
  49.                         <name>Unit 31</name>
  50.                 </unit>
  51.         </family>
  52.         </list>
  53. </root>
  54.  


Хочу получить массив вида
CODE (htmlphp):
скопировать код в буфер обмена
  1. id=>id, unit=>name, family=>family[name]


для дальнейшего занесения его в базу данных.
Бьюсь уже сутки. Не получается. Посоветуйте, пожалуйста.
 
 Top
z1o
Отправлено: 18 Сентября, 2012 - 21:46:13
Post Id


Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Попробуй юзнуть SimpleXML или DOM(DOM немного сложнее)

Вот парсинг с использованием SimpleXML:
echo $simplXML->family[0]->unit[0]->id;
echo $simplXML->family[0]->unit[0]->name;
echo $simplXML->family[0]['name'];

Грузить так:
$simplXML= simplexml_load_file(filename);

(Отредактировано автором: 18 Сентября, 2012 - 22:37:11)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« XML и его обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB