En este artículo vamos a ver cómo convertir datos XML a formato JSON usando PHP .
Requisitos:
- Servidor XAMPP
Introducción: PHP significa preprocesador de hipertexto, que se utiliza para crear páginas web dinámicas. También analiza los datos XML y JSON. XML significa un lenguaje de marcado extensible en el que podemos definir nuestros propios datos.
Estructura de XML:
<root> <child> <subchild> ... </subchild> </child> </root>
Ejemplo: Estamos considerando los datos XML de los estudiantes y convirtiéndolos al formato JSON.
<student> <details> <address> <firstname>sravan kumar</firstname> <city>kakumanu</city> <zip>522112</zip> </address> </details> <details> <address> <firstname>sudheer</firstname> <city>guntur</city> <zip>522112</zip> </address> </details> <details> <address> <firstname>radha kumar</firstname> <city>ponnur</city> <zip>456345</zip> </address> </details> <details> <address> <firstname>vani</firstname> <city>noida</city> <zip>456644</zip> </address> </details> </student>
JSON significa notación de objetos de JavaScript, que tiene el formato de una estructura similar a una array.
Estructura de JSON:
{ "data1": "value1", "data2": "value2", "datan": "valuen" }
Ejemplo:
{"details": [{ "address": { "firstname": "sravan kumar", "city": "kakumanu", "zip": "522112" } }, { "address": { "firstname": "sudheer", "city": "guntur", "zip": "522112" } }, { "address": { "firstname": "radha kumar", "city": "ponnur", "zip": "456345" } }, { "address": { "firstname": "vani", "city": "noida", "zip": "456644" } }]}
Similitudes de JSON y XML:
- Tanto JSON como XML son autodescriptivos.
- JSON y XML son jerárquicos.
- Se pueden analizar JSON y XML, que se utilizan en muchos lenguajes de programación.
Diferencias entre JSON y XML:
JSON | XML |
JSON no usa una etiqueta final | XML usa la etiqueta final |
JSON es más corto que XML | XML es más largo que JSON |
JSON es más rápido de leer y escribir | XML es un poco más lento que JSON |
Las arrays pueden ser utilizadas por JSON | XML no puede utilizar arrays. |
Métodos utilizados:
- Método simplexml_load_string(): Esta función se utiliza para convertir la string XML en un objeto.
- Método json_encode(): esta función se utiliza para codificar un valor en formato JSON.
Pasos:
- Iniciar servidor XAMPP
- Abra el bloc de notas y escriba el siguiente código y guárdelo como base.php en la carpeta xampp-htdocs .
Código PHP: El siguiente es el contenido del archivo “base.php” .
PHP
<?php // student details xml data taken as an String $xml = '<?xml version="1.0" encoding="utf-8"?> <student> <details> <address> <firstname>sravan kumar</firstname> <city>kakumanu</city> <zip>522112</zip> </address> </details> <details> <address> <firstname>sudheer</firstname> <city>guntur</city> <zip>522112</zip> </address> </details> <details> <address> <firstname>radha kumar</firstname> <city>ponnur</city> <zip>456345</zip> </address> </details> <details> <address> <firstname>vani</firstname> <city>noida</city> <zip>456644</zip> </address> </details> </student>'; // Load xml data into xml data object $xmldata = simplexml_load_string($xml); // Encode this xml data into json // using json_encoe function $jsondata = json_encode($xmldata); // Display json data print_r($jsondata); ?>
Salida: Escriba localhost/base.php en su navegador.
{ "details": [ { "address": { "firstname": "sravan kumar", "city": "kakumanu", "zip": "522112" }}, { "address": { "firstname": "sudheer", "city": "guntur", "zip": "522112" }}, { "address": { "firstname": "radha kumar", "city": "ponnur", "zip": "456345" }}, { "address": { "firstname": "vani", "city": "noida", "zip": "456644" }} ] }
Publicación traducida automáticamente
Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA