SimpleXMLElement::__construct

Creates a new SimpleXMLElement object

Description

public SimpleXMLElement::__construct(
    string $data,
    int $options = 0,
    bool $dataIsURL = false,
    string $namespaceOrPrefix = "",
    bool $isPrefix = false
)

Creates a new SimpleXMLElement object.

Parameters

data

A well-formed XML string or the path or URL to an XML document if dataIsURL is true.

options

Optionally used to specify additional Libxml parameters, which affect reading of XML documents. Options which affect the output of XML documents (e.g. LIBXML_NOEMPTYTAG) are silently ignored.

Note:

It may be necessary to pass LIBXML_PARSEHUGE to be able to process deeply nested XML or very large text nodes.

dataIsURL

By default, dataIsURL is false. Use true to specify that data is a path or URL to an XML document instead of string data.

namespaceOrPrefix

Namespace prefix or URI.

isPrefix

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

Errors/Exceptions

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.

Tip

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

Examples

Note:

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

Example #1 Create a SimpleXMLElement object

<?php

include 'example.php';

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

?>

The above example will output:

PHP: Behind the Parser

Example #2 Create a SimpleXMLElement object from a URL

<?php

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

?>

See Also