Может кто-то сталкивался с таким.. Дело в том что данные могут передаваться в формате json или xml. Суть задачи в том, чтобы принятые данные поместить в массив такой же как исходный, который передается со стороннего ресурса. Важно чтобы результат обработки был одинаковым в обоих случаях, так как его потом разбирает по кусочкам класс со своими методами. Для json все решается елементарно - json_decode(). А вот xml мозги пудрит.
Наглядно:
PHP:
скопировать код в буфер обмена
$data[0]["personals"] = array( "name" => "Vasya", "age" => 40, "work_exp" => "7 years 5 month" ); $data[0]["notes"] = array( "sociable person", "great work experience" ); $data[0]["score_on_5_point_scale"] = 5; $data[1]["personals"] = array( "name" => "Petya", "age" => 32, "work_exp" => "4 years 2 month" ); $data[1]["notes"] = array( "communicative personality", "hard working person" ); $data[1]["score_on_5_point_scale"] = 4.5;
Этот массив на стороннем ресурсе превращается в xml вида:
CODE ( htmlphp):
скопировать код в буфер обмена
<?xml version="1.0"?> <root> <item0> <personals> <name>Vasya</name> <age>40</age> <work_exp>7 years 5 month</work_exp> </personals> <notes> <item0>sociable person</item0> <item1>great work experience</item1> </notes> <score_on_5_point_scale>5</score_on_5_point_scale> </item0> <item1> <personals> <name>Petya</name> <age>32</age> <work_exp>4 years 2 month</work_exp> </personals> <notes> <item0>communicative personality</item0> <item1>hard working person</item1> </notes> <score_on_5_point_scale>4.5</score_on_5_point_scale> </item1> </root>
Задача состоит в том чтобы принятый xml вернуть в массив исходного вида, точно так же как это делается с данными типа json функцией json_decode.(Отредактировано автором: 03 Октября, 2014 - 15:21:38)
|