Baran Topal

Baran Topal


May 2024
M T W T F S S
« Feb    
 12345
6789101112
13141516171819
20212223242526
2728293031  

Categories


xml-json-payloads in PHP

baranbaran

This demonstration script will illustrate the differences, including readability and the ratios of propellant to payload that may be important if you’re sending long strings.

<?php
error_reporting(E_ALL);
echo "<pre>";


// COMPARE XML AND JSON STRINGS


// CREATE THE XML STRING
$xml = <<<XML
<?xml version="1.0" ?>
<thing>
 <person>
 <name>Ray</name>
 <email>barantopal@barantopal.com</email>
 </person>
 <person>
 <name>Baran</name>
 <email/>
 </person>
</thing>
XML;

// MAKE AN OBJECT FROM THE XML
$obj = SimpleXML_Load_String($xml);

// MAKE JSON FROM THE OBJECT
$jso = json_encode($obj);

// MAKE A PAYLOAD-ONLY STRING
$pay = trim(strip_tags($xml));

// SHOW SOME SIZE-COMPARATIVE STATISTICS
$xml_len = strlen($xml);
$jso_len = strlen($jso);
$pay_len = strlen($pay);

echo PHP_EOL . "THE PAYLOAD IS $pay_len BYTES";
echo PHP_EOL . $pay;
echo PHP_EOL;

echo PHP_EOL . "THE JSON IS $jso_len BYTES";
echo PHP_EOL . $jso;
echo PHP_EOL;

echo PHP_EOL . "THE XML IS $xml_len BYTES";
echo PHP_EOL . htmlentities($xml);
echo PHP_EOL;