Skip to main content

Parsing XML data and XML file with php

<?php
Step1:

// Lets parse some xml data

$data = '<?xml version="1.0"?>
<organization><employees><employee><id>1</id><name>JohnChow</name><age>25</age></employee><employee><id>2</id><name>Simon</name><age>19</age></employee></employees></organization>';

$xml = simplexml_load_string($data);                       
$response_arr = array();
                                               
foreach ($xml->xpath('//employee') as     $ch)
{                           
$employee_id = $ch->id;                           
$response_arr[(string)$employee_id]=array('id'=>(string)$employee_id,'name'=>(string)$ch->name,'age'=>(string)$ch->age);
}

print_r($response_arr);


Step2:

Now lets parse an xml file (with same data as above)

  The xml file is shown below as a reference:




$file = 'sample.xml';

$xml = simplexml_load_file($file);                       
$response_arr = array();
                                               
foreach ($xml->xpath('//employee') as     $ch)
{                           
$employee_id = $ch->id;                           
$response_arr[(string)$employee_id]=array('id'=>(string)$employee_id,'name'=>(string)$ch->name,'age'=>(string)$ch->age);
}

print_r($response_arr);
?>

In both cases, we get the same output in array format, as shown below:















Comments

Popular posts from this blog

php strip all tags

The below function can strip almost all tags from a string. function strip_all_tags($string) {     $string = preg_replace( '@<(script|style)[^>]*?>.*?@si', '', $string );     $string = strip_tags($string);     return trim($string); } $a = '<script type="text/javascript" src="jquery.js"></script> <div id="test" style="padding:5px; color:red;">Hello world</div>'; echo strip_all_tags($a); // outputs: Hello world

Joomla validate chrono forms using jquery

It is a common practice to use Chrono forms in our joomla site to setup various forms in the site, be it a contact us form, submit a ticket form, or whatever. I have set the option "validate form" to "No" under chronoform settings in admin panel, and also preferred to not include any js or css files. For validating the chrono forms, i prefer jquery. So first lets add jquery support in our joomla. It is quite simple: 1. Download jquery.js and jquery_min.js (1.4.2 version is enough) and place them in media/system/js folder of your joomla. 2. Edit libraries->joomla->html->html->behavior.php, and add the following function below the mootools() function: function jQuery($debug = null)     {         static $loaded;         global $mainframe;         // Only load once         if ($loaded) {    ...

joomla remove category name in url

-) If anyone is using the lyftenbloggie component, and want to remove the component name and category title from the sef url, follow this hack: (Note: You also need to install the lyftenbloggie extension for ARTIO SEF) Under components/com_sef/joomsef.php, After this code: $location = array();         foreach ($title as $titlePart) {             if (strlen($titlePart) == 0) continue;             $location[] = JoomSEF::_titleToLocation($titlePart);         } Just add this code: if($location[0] == 'lyftenbloggie')         {         $temp_sef = end($location);         $location = array();            $location[] = $temp_sef;         ...