
PHP - data z JQuery do XML
Zdravím, obrátil bych se tu na odborníky, jestli nemáte nějakej nápad.
JQuery mi vrací data v téhle podobě (níž kvůli přehlednosti), já ty data potřebuju dostat do xml, strukturu už mají, prostě z toho jen potřebuju dostat
<item>
<name> Item 1 </name>
<id> 1 </id>
</item>
popř.
<item>
<name> Item 1 </name>
<id> 1 </id>
<sublist>
<item>
<name> Item 1-1 </name>
<id> 1-1 </id>
</item>
</sublist>
</item>
Chvíli jsem se snažil to podle nějakých klíčů rozsekat a pak to přidávat do XML struktury (což se mi povedlo, jenže bez sublistů).
Ale když se mi v metodách začali objevovat zhovadilosti typu
return trim(explode(",",str_replace("}",null,$text[1]))[0]);
tak jsem si řekl, že by mohl existovat nějaký jednodušší způsob, bohužel jsem zatím žádný nenašel. Napadá Vás jak to vyřešit bez nutnosti si rozsekávat text.
Díky moc
JQuery output:
[
[
{
"name": "Item 1",
"id": 1
},
{
"name": "Item 2",
"id": 2
},
{
"name": "Item 3",
"id": 3,
"children": [
[
{
"name": "Item 3.1",
"id": "3-0"
},
{
"name": "Item 3.2",
"id": "3-1"
},
{
"name": "Item 3.3",
"id": "3-2"
}
]
]
},
{
"name": "Item 4",
"id": 4
},
{
"name": "Item 5",
"id": 5
}
]
]
Příklad máš třeba tady:
http://www.devexp.eu/2009/04/11/php-domdocument-co nvert-array-to-xml/
Můžeš použít PHP funkci
http://php.net/manual/en/function.array-walk-recur sive.php
(já ji ale nepoužívám).
Ať tak či onak, pro procházení a zápis si musíš napsat (nebo opsat) rekurzivní funkci.
Ještě poznámka: Tvůj problém se jmenuje PHP array to XML
jQuery v něm nehraje roli, je lhostejné, jakým způsobem jsi pole obdržel.
Jenže já to dostávám jako text, ne array.
Vyřešil jsem to zatím takhle:
Pokud to funguje, tak už to tak nech.
Jinak ten text do array bys dostal snadno pomocí funkce json_decode :
function.json-decode.php