Monday, December 22, 2025
HomeLanguagesPHP | simplexml_load_string() Function

PHP | simplexml_load_string() Function

Sometimes there is a need of parsing XML data in PHP. There are a handful of methods available to parse XML data. SimpleXML is one of them. Parsing an XML document means that navigating through the XML document and return the relevant pieces of information. Nowadays, a few APIs return data in JSON format but there are still a large number of websites which returns data in XML format. So we have to master in parsing an XML document if we want to feast on APIs available.

PHP SimpleXML was introduced back in PHP 5.0. The simplexml_load_string() function in PHP is used to interpret an XML string into an object.

Syntax:

simplexml_load_string($data, $classname, $options, $ns, $is_prefix);

Parameters: This function accepts five parameters as shown in the above syntax. All of these parameters are described below:

  • $data : A well-formed XML string.
  • $classname : Class of the new object.
  • $options : Additional Libxml parameters is set by specifying the option and 1 or 0.
  • $ns : TRUE if ns is a prefix. FALSE if ns is a URI. Default is FALSE
  • $is_prefix : TRUE if ns is a prefix. FALSE if ns is a URI. Default is FALSE

Possible Values for the parameter $options are as follows:

  • LIBXML_COMPACT : Activate nodes allocation optimization.
  • LIBXML_DTDATTR : Set default DTD attributes
  • LIBXML_DTDLOAD : Load external subset
  • LIBXML_DTDVALID : Validate with the DTD
  • LIBXML_NOBLANKS : Remove blank nodes
  • LIBXML_NOCDATA : Merge CDATA as text nodes
  • LIBXML_NOEMPTYTAG : Expand empty tags
  • LIBXML_NOENT : Substitute entities
  • LIBXML_NOERROR : Do not show error reports<
  • LIBXML_NONET : Disable network access while loading documents
  • LIBXML_NOWARNING : Do not show warning reports
  • LIBXML_NOXMLDECL : Drop the XML declaration when saving a document
  • LIBXML_NSCLEAN : Remove redundant namespace declarations
  • LIBXML_PARSEHUGE : Sets XML_PARSE_HUGE flag
  • LIBXML_XINCLUDE : Implement XInclude substitution
  • LIBXML_ERR_ERROR : Get recoverable errors
  • LIBXML_ERR_FATAL : Get fatal errors
  • LIBXML_ERR_NONE : Get no errors
  • LIBXML_ERR_WARNING : Get simple warnings
  • LIBXML_VERSION : Get libxml version
  • LIBXML_DOTTED_VERSION : Get dotted libxml version

Return Value This function returns a SimpleXMLElement object on success and FALSE on failure.

Below programs illustrate the simplexml_load_string() function:

Program 1:




<?php
$note=<<<XML
<note>
  <to>User 1</to>
  <from>User 2</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>
XML;
  
$xml = simplexml_load_string($note);
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
?>


Output:

User 1
User 2
Reminder
Don't forget me this weekend!

Program 2:




<?php
$note=<<<XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<book>
    <name>PHP</name>
    <name>Java</name>
    <name>C++</name>
    <name>Python</name>
</book>
XML;
  
$xml=simplexml_load_string($note);
echo $xml->getName() . "\n";
  
foreach($xml->children() as $child){
   echo $child->getName() . ": " . $child . "\n";
}
?>


Output:

book
name : PHP
name : Java
name : C++
name : Python

Reference :
http://php.net/manual/en/function.simplexml-load-string.php

RELATED ARTICLES

Most Popular

Dominic
32456 POSTS0 COMMENTS
Milvus
111 POSTS0 COMMENTS
Nango Kala
6823 POSTS0 COMMENTS
Nicole Veronica
11958 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12038 POSTS0 COMMENTS
Shaida Kate Naidoo
6958 POSTS0 COMMENTS
Ted Musemwa
7203 POSTS0 COMMENTS
Thapelo Manthata
6911 POSTS0 COMMENTS
Umr Jansen
6890 POSTS0 COMMENTS