SHOW:
|
|
- or go back to the newest paste.
1 | require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php"); | |
2 | ||
3 | $xml = simplexml_load_file('company_new.xml'); | |
4 | ||
5 | $json_string = json_encode($xml); | |
6 | $arData = json_decode($json_string, true); | |
7 | #p($arData); | |
8 | ||
9 | $arResult = array(); | |
10 | ||
11 | function itemRecursive($arr, $parent){ | |
12 | global $arResult; | |
13 | ||
14 | // нет подразделенний, раздел только оник | |
15 | if(isset($arr["Ид"])){ | |
16 | $arResult[] = array( | |
17 | 'XML_ID' => $arr["Ид"], | |
18 | 'NAME' => $arr["Наименование"], | |
19 | 'HEAD' => $arr["Руководитель"], | |
20 | 'PARENT' => $parent | |
21 | ); | |
22 | ||
23 | itemRecursive($arr["Подразделения"]["Подразделение"], $arr["Ид"]); | |
24 | } | |
25 | else{ | |
26 | // подразделов много, делаем перебор | |
27 | foreach($arr as $key=>$arItems){ | |
28 | $arResult[] = array( | |
29 | 'XML_ID' => $arItems["Ид"], | |
30 | 'NAME' => $arItems["Наименование"], | |
31 | "HEAD" => $arItems["Руководитель"], | |
32 | 'PARENT' => $parent | |
33 | ); | |
34 | ||
35 | if(isset($arItems["Подразделения"]["Подразделение"])){ | |
36 | itemRecursive($arItems["Подразделения"]["Подразделение"], $arItems["Ид"]); | |
37 | } | |
38 | } | |
39 | } | |
40 | ||
41 | ||
42 | } | |
43 | ||
44 | itemRecursive($arData["Классификатор"]["Подразделения"]["Подразделение"], ""); | |
45 | ||
46 | p($arResult); |