CakeFest 2017 NYC, the Official CakePHP Conference


(PHP 5 >= 5.1.0)

XMLReader::openSet the URI containing the XML to parse


public bool XMLReader::open ( string $URI [, string $encoding [, int $options = 0 ]] )

Set the URI containing the XML document to be parsed.

Elenco dei parametri


URI pointing to the document.


The document encoding or NULL.


A bitmask of the LIBXML_* constants.

Valori restituiti

Restituisce TRUE in caso di successo, FALSE in caso di fallimento. If called statically, returns an XMLReader o FALSE in caso di fallimento.


Questo metodo può essere chiamato in modo statico, ma genererà un errore E_STRICT.

Log delle modifiche

Versione Descrizione
5.2.0 encoding and options were added.

Vedere anche:

add a note add a note

User Contributed Notes 4 notes

alvaro at demogracia dot com
2 years ago
XML can optionally declare its own encoding:

    <?xml version="1.0" encoding="UTF-8"?>

You can use the $encoding parameter to provide this information (if missing) or override it (if wrong).

Output is always UTF-8 (that's how libxml works).
dave at sophoservices dot com
2 months ago
When using the XmlReader to read local XML files, remember it the open function requests a URI. Add 'file://' to the front of the FULL path to the XML. Otherwise you may get:

PHP Warning:  XMLReader::open(): Unable to open source data in ...
4 months ago
For some reasons, the open() method keep throwing me this error :

PHP Warning:  XMLReader::open(): Unable to open source data in /var/www/nota/ethamap/fat_xml.php

It doesn't make sense as the xml file target hosted on my server is perfectly reachable. Adding this line before invoking open() fixed it :


Please view
It is somehow related.
crungmungus at gmail dot com
8 years ago
Windows users remember to enable php_openssl.dll in your php.ini if you want to be able to use this function (and others) with a HTTPS URL.
To Top