(PHP 5 >= 5.1.0, PHP 7)

XMLReader::openFixe le URI contenant le XML à analyser


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

Fixe le URI contenant le document XML à être analysé.

Liste de paramètres


URI pointant vers le document.


L'encodage du document, ou NULL.


Un masque de constante LIBXML_*.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Si appelée statiquement, retourne un objet XMLReader ou FALSE si une erreur survient.

Erreurs / Exceptions

Cette méthode peut être appelée statiquement, mais enverra une erreur E_STRICT.


Version Description
5.2.0 Les paramètres encoding et options ont été ajoutés.

Voir aussi

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
3 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 ...
5 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 https://bugs.php.net/bug.php?id=62577
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