Átalakítás XML JSON PHP (forrás) - szoftverek

Edward Pring, John Morar, St. Nathan

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

2. lista Egy egyszerű példa, a JSON-adatok

3. lista A kódrészlet adatfeldolgozás JSON formátumú érkezett a szervertől

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ú.

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. 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

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

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).

Letöltések

Kapcsolódó cikkek