# simplexml_load_string

(PHP 5, PHP 7)

simplexml_load_string — Interprets a string of XML into an object

### Description

simplexml_load_string ( string `$data` [, string `$class_name` = "SimpleXMLElement" [, int `$options` = 0 [, string `$ns` = "" [, 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 PHP 5.1.0 and Libxml 2.6.0, you may also use the `options` parameter to specify additional Libxml parameters.

`ns`

  Namespace prefix or URI.

`is_prefix`

  `TRUE` if `ns` 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, or `FALSE` on failure.

Warning

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.

Tip

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

### Changelog

Version | Description
--- | ---
5.2.0 | The optional parameter `is_prefix` was added.

### 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