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&cas 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
optionsparameter to specify additional Libxml parameters. -
ns -
Namespace prefix or URI.
-
is_prefix -
trueifnsis a prefix,falseif 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