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

 PHP.SU

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


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

> Описание: Есть ли такая функция как json_decode только для xml?
keradan
Отправлено: 03 Октября, 2014 - 14:36:10
Post Id


Новичок


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


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




Может кто-то сталкивался с таким.. Дело в том что данные могут передаваться в формате json или xml. Суть задачи в том, чтобы принятые данные поместить в массив такой же как исходный, который передается со стороннего ресурса. Важно чтобы результат обработки был одинаковым в обоих случаях, так как его потом разбирает по кусочкам класс со своими методами. Для json все решается елементарно - json_decode(). А вот xml мозги пудрит.
Наглядно:
PHP:
скопировать код в буфер обмена
  1. $data[0]["personals"] = array(
  2.    "name" => "Vasya",
  3.    "age" => 40,
  4.    "work_exp" => "7 years 5 month"
  5.    );
  6. $data[0]["notes"] = array(
  7.    "sociable person",
  8.    "great work experience"
  9.    );
  10. $data[0]["score_on_5_point_scale"] = 5;
  11.  
  12. $data[1]["personals"] = array(
  13.    "name" => "Petya",
  14.    "age" => 32,
  15.    "work_exp" => "4 years 2 month"
  16.    );
  17. $data[1]["notes"] = array(
  18.    "communicative personality",
  19.    "hard working person"
  20.    );
  21. $data[1]["score_on_5_point_scale"] = 4.5;
  22.  

Этот массив на стороннем ресурсе превращается в xml вида:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?xml version="1.0"?>
  2. <root>
  3.   <item0>
  4.     <personals>
  5.       <name>Vasya</name>
  6.       <age>40</age>
  7.       <work_exp>7 years 5 month</work_exp>
  8.     </personals>
  9.     <notes>
  10.       <item0>sociable person</item0>
  11.       <item1>great work experience</item1>
  12.     </notes>
  13.     <score_on_5_point_scale>5</score_on_5_point_scale>
  14.   </item0>
  15.   <item1>
  16.     <personals>
  17.       <name>Petya</name>
  18.       <age>32</age>
  19.       <work_exp>4 years 2 month</work_exp>
  20.     </personals>
  21.     <notes>
  22.       <item0>communicative personality</item0>
  23.       <item1>hard working person</item1>
  24.     </notes>
  25.     <score_on_5_point_scale>4.5</score_on_5_point_scale>
  26.   </item1>
  27. </root>


Задача состоит в том чтобы принятый xml вернуть в массив исходного вида, точно так же как это делается с данными типа json функцией json_decode.

(Отредактировано автором: 03 Октября, 2014 - 15:21:38)

 
 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