SimpleXMLElement::__construct

Creates a new SimpleXMLElement object

&reftitle.description; final public `SimpleXMLElement::__construct` `string` `data` `int` `options` 0 `bool` `data_is_url` false `string` `ns`"" `bool` `is_prefix` false

Creates a new `SimpleXMLElement` object.

&reftitle.parameters;

`data`

- A well-formed XML string or the path or URL to an XML document if `data_is_url` is &true;.

`options`

- Optionally used to specify additional Libxml parameters.

`data_is_url`

- By default, `data_is_url` is &false;. Use &true; to specify that `data` is a path or URL to an XML document instead of `string` data.

`ns`

- Namespace prefix or URI.

`is_prefix`

- &true; if `ns` is a prefix, &false; if it's a URI; defaults to &false;.

&reftitle.returnvalues;

Returns a `SimpleXMLElement` object representing `data`.

&reftitle.errors;

Produces an `E_WARNING` error message for each error found in the XML data and additionally throws an `Exception` if the XML data could not be parsed.

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

&reftitle.examples;

Listed examples may include `example.php`, which refers to the XML string found in the first example of the basic usage guide.

### Create a SimpleXMLElement object

    <?php

    include 'example.php';

    $sxe = new SimpleXMLElement($xmlstr);
    echo $sxe->movie[0]->title;

    ?>

&example.outputs;

    PHP: Behind the Parser

### Create a SimpleXMLElement object from a URL

    <?php

    $sxe = new SimpleXMLElement('http://example.org/document.xml', NULL, TRUE);
    echo $sxe->asXML();

    ?>

&reftitle.changelog;

&Version; | &Description;
5.2.0 | Added the `ns` and `is_prefix` parameters.
5.1.2 | Added the `options` and `data_is_url` parameters.

&reftitle.seealso;

- simplexml.examples-basic
- `simplexml_load_string`
- `simplexml_load_file`
- simplexml.examples-errors
- `libxml_use_internal_errors`