Átalakítás xml JSON php
XML alapjai
XML - szabvány jelölés. XML-alapú jelölőnyelv leírására használják az adatokat, hogy képviseli a címkéket, amelyeket nem kell előre meghatározni. XML nagymértékben bővíthető, mert akkor új tag szükséges. 1. lista mutat példát adatszerkezete képviselt XML-formátumban.
1. listán Egy egyszerű példa XML-adatok
Basics JSON
2. lista Egy egyszerű példa, a JSON-adatok
Az adatok feldolgozása a böngésző oldalon
3. lista A kódrészlet adatfeldolgozás JSON formátumú érkezett a szervertől
Konvertálása XML-ből JSON
Egyre több alkalmazásokat kell átalakítani az XML-adatokat JSON. Számos webes szolgáltatás, hogy nem egy ilyen konverzió, már megjelentek. IBM T. Watson Research Center kifejlesztett egy speciális eljárás, amely a PHP az átalakításhoz. Ez a módszer egy XML-bemeneti adatok, és átalakítja őket a JSON formátumú adatok kimenet. Ez a PHP-alapú megoldás számos előnyt biztosít:
- Meg lehet önálló üzemmódban futnak, a parancssorból.
- Benne lehet a meglévő kód fut a szerver oldalon.
- Ez könnyen fel lehet helyezni egy webes szolgáltatást az interneten.
Konvertálása XML-ből JSON szükséges két alapvető PHP funkciók:
Használata csak ez a két alapvető funkciót PHP, akkor konvertálni tetszőleges XML-adatokat JSON-formátumban. Először is, meg kell konvertálni a tartalmát az XML-adatokat a megfelelő PHP-Type segítségével SimpleXMLElement. Ezután a PHP-adatokat a jeladó Services_JSON. amely viszont, képezi a végső kimenet a JSON formátumú.
Mastering PHP-kódot
Ez a végrehajtási xml2json három részből áll:
- xml2json.php - PHP-osztály két statikus funkciókat.
- xml2json_test.php - tesztpilóta dolgozni xml2json konverziós függvény.
- test1.xml, test2.xml, test3.xml, test4.xml - XML-fájlok különböző összetettségű.
A 4. lista meghatározza néhány hasznos állandók. Az első kódsor importálja a végrehajtás Services_JSON.
4. lista definiálása állandók xml2json.php
A kódrészlet listában bemutatott 5-ös a bemeneti függvény az inverter xml2json. Tart a bemenő XML-adatok, és átalakítja az XML-string SimpleXMLElement objektumot. amely továbbításra kerül egy másik funkció (rekurzívan) ebben az osztályban. Ez a funkció átalakítja az XML-elemek az asszociatív PHP-tömb. Ez a tömb kerül átadásra a bemeneti jeladó Services_JSON. amely kijelzi az adatokat JSON-formátumban.
5. lista használata Services_JSON a xml2json.php
A hosszadalmas kódrészlet listában bemutatott 6 használ rekurzív technika ihlette PHP nyílt forráskódú közösség számára (lásd. „Források” című fejezetet). Tart SimpleXMLElement tárgy, mint egy bemeneti paraméterek és rekurzív végigfut a beágyazott XML-fa. Ez megőrzi az összes észlelt elemek XML-PHP-asszociatív tömb. Beállítható a rekurzió mélységét limit megváltoztatásával állandó meghatározott 4. listában.
Listing 6. A logika átalakítás xml2json.php
Végrehajtása tesztpilótája xml2json
A kódrészlet a lista 7. a tesztpilóta, amely érvényes xml2json konverziós logika.
Listing 7. xml2json_test.php
Akkor a program futtatásához a parancssorból egy XML fájl parancssori argumentum:
Amikor végre a parancssorból program beolvassa az XML-tartalmat egy file-ba egy string változó. Ez ekkor hívja a statikus függvény xml2json osztályban, hogy a JSON formátumú. Amellett, hogy a program futtatása a parancssorból, meg lehet változtatni a logika a forrás fájlt, hogy xml2json átalakító formájában az úgynevezett web-szolgáltatást a hozzáférési protokollok Simple Object Access Protocol (SOAP) és Representational State Transfer (REST). Ha szükséges, akkor könnyen csinálni PHP minimális költségekkel.
Listing 8. ábra a négy vizsgálati XML-fájlok, ezt a cikket, hogy teszteljék a végrehajtását xml2json. Nehézségi foka ezeket a fájlokat más. Akkor át egy ilyen fájlt parancssori argumentuma a tesztpilóta xml2json_test.php.
Listing 8. tesztelés végrehajtása xml2json a test2.xml
A kódrészlet listában bemutatott 9 eredményét ábrázolja JSON formátumban test2.xml fájl parancssori argumentum a teszt xml2json_test.php driver.
Listing 9. Az eredmény a JSON-formázott test2.xml
következtetés
Használhatja a forráskódot látva ezt a cikket, különböző célokra - például egy önálló program, mint egy osztály könyvtár a jelenlegi program fut a szerver oldalon, vagy a SOAP / REST funkció Web-service való részvétel a vállalati szolgáltatás-orientált architektúra (Service orientált architektúra - SOA).