(PHP 5, PHP 7, PHP 8)
simplexml_load_string — Interprets a string of XML into an object
simplexml_load_string( 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.
dataA well-formed XML string
class_nameYou 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 Bitwise OR of the libxml option constants.
namespace_or_prefixNamespace prefix or URI.
is_prefix true if namespace_or_prefix is a prefix, false if it's a URI; defaults to false.
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.
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.
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.
© 1997–2025 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.simplexml-load-string.php