Home  >  Article  >  Backend Development  >  How to realize the mutual conversion function between XML and JSON in PHP

How to realize the mutual conversion function between XML and JSON in PHP

PHPz
PHPzOriginal
2023-04-04 10:41:37784browse

In Web development, PHP has high efficiency for data processing and has rich support for data formats. Among them, PHP's support for XML and JSON data formats is particularly prominent, and they play an important role in data interaction. This article will introduce how to implement the mutual conversion function between XML and JSON in PHP.

I. What is XML?

XML is a markup language (Markup Language) used to describe data and the relationship between data. It can represent plain text content, images, audio, video clips, and other complex data structures.

XML syntax rules are strict, and tags and attributes must be written according to the rules. The tag must have a start tag and an end tag, and the start and end tags must match exactly. At the same time, the XML data structure has good readability.

In PHP, we can operate XML data through the support of various DOM extension libraries, such as DOMDocument and so on.

II. What is JSON?

JSON is the abbreviation of JavaScript Object Notation. It is a lightweight data exchange format that is easy for people to understand and write. At the same time, JSON is also an independent data description language that supports multiple programming languages, such as C, C, C#, Java, PHP and Perl.

The syntax of JSON is a subset of JavaScript. JSON data structures include objects and arrays. An object is surrounded by a pair of curly braces and consists of key-value pairs. The array is surrounded by a pair of square brackets, and its elements can be objects, arrays, strings, values, bollean values ​​or null values, etc.

In PHP, we can encode and parse JSON data through the json_encode() and json_decode() functions.

III. Mutual conversion between XML and JSON in PHP

  1. XML to JSON

The process of XML to JSON conversion is very simple and clear. We can convert XML into an object model (DOM model) through the DOMDocument class, and then convert the DOM model into a JSON string through the json_encode() function.

Sample code:

$xmlString = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <name>John Doe</name>
    <age>25</age>
    <gender>male</gender>
</root>
XML;

$xml = new \DomDocument();
$xml->loadXML($xmlString);
$jsonString = json_encode($xml, JSON_PRETTY_PRINT);
echo $jsonString;

The converted JSON string is as follows:

{
    "root": {
        "name": "John Doe",
        "age": "25",
        "gender": "male"
    }
}
  1. JSON to XML

JSON to XML needs to be converted manually Carry out the work of creating XML documents. We can convert the JSON string into a PHP object through the json_decode() function, and then convert the object into an XML document through the DOMDocument class.

Sample code:

$jsonString = '{"root": {"name": "John Doe","age": "25","gender": "male"}}';
$json = json_decode($jsonString);
 
$xml = new DOMDocument();
$root = $xml->createElement("root");
$xml->appendChild($root);
 
foreach($json->root as $key=>$value) {
    $node = $xml->createElement($key, $value);
    $root->appendChild($node);
}
 
$xmlString = $xml->saveXML();
echo $xmlString;

The converted XML document is as follows:

<?xml version="1.0"?>
<root>
  <name>John Doe</name>
  <age>25</age>
  <gender>male</gender>
</root>

IV. Conclusion

In Web development, there are many data transmission formats , XML and JSON are two data formats that are relatively common data interaction formats. In PHP, we can use the DOMDocument class and the json_encode/json_decode function to achieve mutual conversion between XML and JSON. Use DOMDocument to convert XML into an object model, and use json_encode to convert it into a JSON string; use json_decode to convert the JSON string into a PHP object, use DOMDocument to instantiate the XML document, and finally construct the PHP object into an XML document.

The above is the detailed content of How to realize the mutual conversion function between XML and JSON in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn