PHP SimpleXML

PHP SimpleXML

PHP SimpleXML handles the most common XML tasks, leaving the rest to other extensions.

What is PHP SimpleXML?

SimpleXML is a new feature in PHP 5.

The SimpleXML extension provides a simple way to get the name and text of an XML element.

Compared to DOM or Expat parsers, SimpleXML can read text data from XML elements in just a few lines of code.

SimpleXML can convert XML documents (or XML strings) into objects, for example:

·         elements are converted into single attributes of SimpleXMLElement objects. When there are multiple elements at the same level, they are placed in an array.

·          Attributes are accessed using an associative array, where the index corresponds to the attribute name.

·           The text inside the element is converted to a string. If an element has multiple text nodes, they are arranged in the order in which they are found.

SimpleXML is very fast to use when performing basic tasks like the following:

·                                                                                                                                                                                         # Properties

However, when dealing with advanced XML, such as namespaces, it is better to use the Expat parser or the XML DOM.

Installation

Starting with PHP 5, SimpleXML functions are part of the PHP core. No installation is required to use these functions.

PHP SimpleXML Example

Suppose we have the following XML file, "note.xml":

<?xml version="1.0" encoding="ISO-8859-1"?>
 <note>
 <to>Tove</to>
 <from>Jani</from>
 <heading>Reminder</heading>
 <body>Don't forget me this weekend!</body>
 </note>

Now we want to output the above XML Different information of the file:

Example 1

Output the keys and elements of the $xml variable (which is a SimpleXMLElement object):

<?php
 $xml=simplexml_load_file("note.xml");
 print_r($xml);
 ?>

The above code will output:

SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )

Example 2

Output the data of each element in the XML file:

<?php
 $xml=simplexml_load_file("note.xml");
 echo $xml->to . "<br>";
 echo $xml->from . "<br>";
 echo $xml->heading . "<br>";
 echo $xml->body;
 ?>

The above code will output:

Tove

Jani

Reminder
Don't forget me this weekend!

Example 3

Output the element name and data of each child node:

<?php
 $xml=simplexml_load_file("note.xml");
 echo $xml->getName() . "<br>";
 
 foreach($xml->children() as $child)
 {
 echo $child->getName() . ": " . $child . "<br>";
 }
 ?>

The above code will output:

note

to: Tove

from: Jani
heading: Reminder
body: Don't forget me this weekend!

More information about PHP SimpleXML

For more information about PHP SimpleXML functions, please visit our PHP SimpleXML reference manual.

Continuing Learning
||
<?php $xml=simplexml_load_file("note.xml"); echo $xml->getName() . "<br>"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br>"; } ?>
submitReset Code