Nextrek
Diff Revisions
735
vs
736
for /legal-map/ajax/fetch_xml_tree.php
|
@@ -1,11 +1,28 @@ |
1 |
1 |
|
<?php |
2 |
2 |
|
$xml = simplexml_load_file(dirname(__FILE__)."/../xml/".$_REQUEST["xmlfile"], 'SimpleXMLElement', LIBXML_NOCDATA); |
3 |
3 |
|
|
4 |
|
- |
if (isset($_REQUEST["id_padre"])) { |
5 |
|
- |
$root_nodes = $xml->xpath('//NODO[@ramoid="'.$_REQUEST["id_padre"].'"]/NODO'); |
6 |
|
- |
?><pre><?php print_r($root_nodes);?></pre><?php //stampa debug dello xml |
|
4 |
+ |
$json_nodes = array(); |
|
5 |
+ |
$json_nodes["nodes"] = array(); |
|
6 |
+ |
|
|
7 |
+ |
if (isset($_REQUEST["idpadre"])) { //ramo non radice |
|
8 |
+ |
$xml_nodes = $xml->xpath('//NODO[@ramoid="'.$_REQUEST["idpadre"].'"]/NODO'); |
|
9 |
+ |
|
7 |
10 |
|
} else { //restituisci solo i nodi radice |
8 |
|
- |
$root_nodes = $xml->xpath('/ROOT/NODO'); |
9 |
|
- |
?><pre><?php print_r($root_nodes);?></pre><?php //stampa debug dello xml |
|
11 |
+ |
$xml_nodes = $xml->xpath('/ROOT/NODO'); |
10 |
12 |
|
} |
|
13 |
+ |
|
|
14 |
+ |
foreach ($xml_nodes as $key => $value) { |
|
15 |
+ |
$node = array(); |
|
16 |
+ |
|
|
17 |
+ |
//var_dump($value); |
|
18 |
+ |
$node["id"] = (integer)$value->attributes()->ramoid; |
|
19 |
+ |
$node["is_leaf"] = ($value->attributes()->leaf=="TRUE"); |
|
20 |
+ |
$node["ramodescrizione"] = (string)$value->ramodescrizione; |
|
21 |
+ |
$node["descrizioneoriginale"] = (is_object($value->descrizioneoriginale)) ? (string)$value->descrizioneoriginale[0] : (string)$value->descrizioneoriginale; |
|
22 |
+ |
$node["descrizionealbero"] = (string)$value->descrizionealbero; |
|
23 |
+ |
array_push($json_nodes["nodes"], $node); |
|
24 |
+ |
} |
|
25 |
+ |
|
|
26 |
+ |
echo json_encode($json_nodes); |
|
27 |
+ |
|
11 |
28 |
|
?> |