¿Cómo convertir datos XML en JSON usando PHP?

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:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *