Easy Tutorial
❮ Php Ref Libxml Func Filesystem Lstat ❯

PHP SimpleXML


PHP SimpleXML handles the most common XML tasks, while other tasks are handled by other extensions.


What is PHP SimpleXML?

SimpleXML is a new feature in PHP 5.

The SimpleXML extension provides a simple way to get the names and text of XML elements.

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

SimpleXML can convert XML documents (or XML strings) into objects, such as:

SimpleXML is very quick to use when performing basic tasks such as:

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


Installation

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


PHP SimpleXML Examples

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 different information from the above XML 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 names 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 on PHP SimpleXML

For more information on PHP SimpleXML functions, please visit our PHP SimpleXML Reference Manual.

❮ Php Ref Libxml Func Filesystem Lstat ❯