php8.5
Home/ Manual/ simplexml / functions/ simplexml_load_string

simplexml_load_string

PHP function Edit on GitHub ✎

(PHP 5, PHP 7, PHP 8)

Interprets a string of XML into an object

Description

simplexml_load_string(string $data, string|null $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

Options

namespace_or_prefix

Namespace prefix or URI.

is_prefix

true if namespace_or_prefix is a prefix, false if it's a URI; defaults to false.

Return Values

Returns an object of class SimpleXMLElement with properties containing the data held within the xml document,Falseforfailure.

Falseproblem

Errors/Exceptions

Produces an E_WARNING error message for each error found in the XML data.

Tip

Use libxml_use_internal_errors() to suppress all XML errors, and libxml_get_errors() to iterate over them afterwards.

Examples

Interpret an XML string

php
<?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:

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

Source: reference/simplexml/functions/simplexml-load-string.xml · from the official PHP manual (php/doc-en)