simplexml_load_string
(PHP 5, PHP 7, PHP 8)
simplexml_load_string — Interprets a string of XML into an object
Description
string
$data,?string
$class_name = SimpleXMLElement::class,int
$options = 0,string
$namespace_or_prefix = "",bool
$is_prefix = false): SimpleXMLElement|false
Takes a well-formed XML string and returns it as an object.
Parameters
-
data -
A well-formed XML string
-
class_name -
You may use this optional parameter so that simplexml_load_string() will return an object of the specified class. That class should extend the SimpleXMLElement class.
-
options -
Since Libxml 2.6.0, you may also use the
optionsparameter to specify additional Libxml parameters. -
namespace_or_prefix -
Namespace prefix or URI.
-
is_prefix -
trueifnamespace_or_prefixis a prefix,falseif it's a URI; defaults tofalse.
Return Values
Returns an object of class SimpleXMLElement with
properties containing the data held within the xml document, or false on failure.
This function may
return Boolean false, but may also return a non-Boolean value which
evaluates to false. Please read the section on Booleans for more
information. Use the ===
operator for testing the return value of this
function.
Errors/Exceptions
Produces an E_WARNING error message for each error
found in the XML data.
Use libxml_use_internal_errors() to suppress all XML errors, and libxml_get_errors() to iterate over them afterwards.
Examples
Example #1 Interpret an XML string
<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
<title>Forty What?</title>
<from>Joe</from>
<to>Jane</to>
<body>
I know that's the answer -- but what's the question?
</body>
</document>
XML;
$xml = simplexml_load_string($string);
print_r($xml);
?>
The above example will output:
SimpleXMLElement Object ( [title] => Forty What? [from] => Joe [to] => Jane [body] => I know that's the answer -- but what's the question? )
At this point, you can go about using $xml->body
and such.
See Also
- simplexml_load_file() - Interprets an XML file into an object
- SimpleXMLElement::__construct() - Creates a new SimpleXMLElement object
- Dealing with XML errors
- libxml_use_internal_errors() - Disable libxml errors and allow user to fetch error information as needed
- Basic SimpleXML usage

