ПредишенСледващото

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

Изтегляне ресурси

Свързани теми

Свързани статии

Подкрепете проекта - споделете линка, благодаря!