XML Основи
XML - стандарт за маркиране. XML-базирана маркиране се използва за описание на данните, които се представя чрез етикети, които не е необходимо да се определят предварително. XML е изключително разширяем, защото можете да създавате нови тагове, както е необходимо. Обява 1 показва пример за структурата на данните, представени в XML-формат.
Обява 1. Един прост пример на XML-данни
Основи JSON
Обявата 2. Един прост пример на JSON-данни
Данните се обработват от страна на браузъра
Обява 3. Кодът за обработване на данните в JSON формат, получени от сървъра
Конвертиране на XML-към-JSON
Все по-голям брой приложения, трябва да конвертирате XML-данни в JSON. Няколко уеб-услуги, да направят такива реализации, които вече са се появили. IBM Т. Дж Watson Research Center е разработил специален метод, който използва PHP за извършване на преобразуването. Този метод отнема XML-входни данни и ги конвертира в изходните данни на JSON-форматиран. Това PHP базирани разтвор осигурява няколко предимства:
- Тя може да се управлява в самостоятелен режим, от командния ред.
- Тя може да бъде включена в съществуващия код работи на сървъра страна.
- Тя може лесно да бъде поставен като уеб-услуга в мрежата.
Конвертиране на XML-към-JSON изисква две основни функции на PHP:
Използване само на тези две основни функции на PHP, можете да конвертирате всякакви произволни XML-данни в JSON формат. На първо място, трябва да конвертирате съдържанието на XML-данни в съответната PHP-Type използване SimpleXMLElement. Тогава PHP-данни се подава към кодер Services_JSON. което, от своя страна, представлява крайната продукция в JSON-форматиран.
Овладяването на PHP код
Това xml2json изпълнение се състои от три части:
- xml2json.php - PHP класа с две статични функции.
- xml2json_test.php - тест пилот за работа с функция xml2json реализация.
- test1.xml, test2.xml, test3.xml, test4.xml - XML-файлове с различна сложност.
Обява 4 определя някои полезни константи. В първия ред на код внася Services_JSON на изпълнение.
Обява 4. Дефиниране на константи в xml2json.php
Кодовият фрагмент е показано на Обява 5 е въвеждане на функцията на xml2json на инвертора. Отнема като вход на XML данни и преобразува XML-низ в SimpleXMLElement обект. която се предава до друга функция (рекурсивно) в този клас. Тази функция преобразува XML-елементи в асоциативен PHP-масив. След това този масив се предава като вход към кодер Services_JSON. което извежда данни в JSON формат.
Обява 5. Използване Services_JSON в xml2json.php
продължителен кодовият фрагмент е показано на Обява 6 използва техника на рекурсия, вдъхновен от източник общността на PHP-отворен (вж. "ресурси" раздел). Това отнема SimpleXMLElement обект като входен параметър и рекурсивно минава през вградения XML-дървото. Това запазва всички открити елементи в XML-PHP-асоциативен масив. Можете да регулирате границата на рекурсия дълбочина чрез промяна на постоянен дефинирано в Обява 4.
Обява 6. xml2json.php на логика превръщане
Изпълнение на тест пилот за xml2json
Фрагментът от код в Обява 7. е тест пилот, който се прилага логиката xml2json реализация.
Обявата 7. xml2json_test.php
Можете да стартирате програмата от командния ред с XML-файл като аргумент от командния ред:
Когато изпълнява от програмата за команден ред прочита на XML съдържание от файл в низова променлива. След това той нарича статично функция в xml2json клас, за да получите JSON форматиран. В допълнение към прилагането на програмата от командния ред, можете да промените логиката в изходния файл, за да се осигури xml2json конвертор във формата на нарича уеб-услуга, използвайки протоколите за достъп Simple Object Access Protocol (SOAP) и представителни държавния трансфер (REST). Ако е необходимо, можете лесно да го направя в PHP с минимални разходи.
Обява 8 показва един от четирите тестови XML-файлове, снабдени с тази статия, за да се тества с изпълнението на xml2json. Степен на трудност на тези файлове е по-различно. Можете да премине един от тези файлове като аргумент от командния ред, за да xml2json_test.php на тест пилот.
Обява 8. Тестване xml2json изпълнение с test2.xml
Кодът е показано на Обява 9 представлява резултата в JSON формат, използвайки test2.xml файл като аргумент от командния ред на водача на тест xml2json_test.php.
Обявата 9. В резултат на JSON форматирани за test2.xml
заключение
Можете да използвате изходния код снабдени с тази статия, най-различни цели - като самостоятелна програма като клас библиотека за настоящата програма работи на сървъра страна, или като SOAP / ПОЧИВКА функция уеб-услуга за участие в корпоративно ориентирана към услуги архитектура (Service ориентирани Архитектура - SOA).
Изтегляне ресурси
Свързани теми
Свързани статии