📜  如何使用PHP将 XML 数据转换为 JSON?

📅  最后修改于: 2022-05-13 01:56:44.974000             🧑  作者: Mango

如何使用PHP将 XML 数据转换为 JSON?

在本文中,我们将了解如何使用PHP将 XML 数据转换为 JSON 格式。

要求:

  • XAMPP 服务器

简介: PHP代表超文本预处理器,用于创建动态网页。它还解析 XML 和 JSON 数据。 XML 代表一种可扩展的标记语言,我们可以在其中定义自己的数据。

XML的结构:

 
  
     ... 
  

示例:我们正在考虑学生 XML 数据并将其转换为 JSON 格式。


    
sravan kumar kakumanu 522112
sudheer guntur 522112
radha kumar ponnur 456345
vani noida 456644

JSON 代表 JavaScript 对象表示法,它采用类数组结构的格式。

JSON的结构:

{ 
    "data1": "value1",
    "data2": "value2",
    "datan": "valuen"
}

例子:

{"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" 
    } 
}]}

JSON 和 XML 的相似之处:

  • JSON 和 XML 都是自描述的。
  • JSON 和 XML 是分层的。
  • JSON 和 XML 可以被解析,它们在许多编程语言中使用。

JSON 和 XML 的区别:

JSONXML
JSON doesn’t use an end tagXML uses end tag
JSON is shorter than XMLXML is longer than JSON
JSON is quicker to read and writeXML is a bit slower than JSON
Arrays can be used by JSONXML can not use arrays.

使用方法:

  • simplexml_load_string() 方法:该函数用于将 XML字符串转换为对象。
  • json_encode() 方法:该函数用于将值编码为 JSON 格式。

脚步:

  • 启动 XAMPP 服务器

  • 打开记事本并键入以下代码并将其保存为基础。 PHP在xampp-htdocs文件夹中。

PHP代码:以下是文件“base. PHP”文件。

PHP


    
        
            sravan kumar             kakumanu             522112         
    
    
        
            sudheer             guntur             522112         
    
    
        
            radha kumar             ponnur             456345         
    
    
        
            vani             noida             456644         
    
';     // 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);    ?>


输出:输入localhost/base。在您的浏览器中PHP

{
    "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" 
        }}
    ]
}