simplexml_load_file
(PHP 5, PHP 7)
simplexml_load_file — Interprets an XML file into an object
Description
simplexml_load_file ( string $filename [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns = "" [, bool $is_prefix = false ]]]] ) : SimpleXMLElement|false
Convert the well-formed XML document in the given file to an object.
Parameters
-
filename
-
Path to the XML file
Note:
Libxml 2 unescapes the URI, so if you want to pass e.g.
b&c
as the URI parametera
, you have to callsimplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c')))
. Since PHP 5.1.0 you don't need to do this because PHP will do it for you. -
class_name
-
You may use this optional parameter so that simplexml_load_file() 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
ifns
is a prefix,false
if it's a URI; defaults tofalse
.
Return Values
Returns an object of class SimpleXMLElement with properties containing the data held within the XML document, or false
on failure.
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.
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 document
<?php // The file test.xml contains an XML document with a root element // and at least an element /[root]/title. if (file_exists('test.xml')) { $xml = simplexml_load_file('test.xml'); print_r($xml); } else { exit('Failed to open test.xml.'); } ?>
This script will display, on success:
SimpleXMLElement Object ( [title] => Example Title ... )
At this point, you can go about using $xml->title
and any other elements.
See Also
- simplexml_load_string() - Interprets a string of XML 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
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.simplexml-load-file.php