View difference between Paste ID: Pp2LfTHZ and 03sCGhVX
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);