simplexml_load_file
Interprets an XML file into an object
Description
SimpleXMLElement simplexml_load_file
( string $filename
[, string $class_name = "SimpleXMLElement"
[, int $options = 0
[, string $ns = ""
[, bool $is_prefix = false
]]]] )
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 parameter a,
you have to call
simplexml_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 if ns is a prefix, FALSE if it's a URI;
defaults to FALSE.
Return Values
Returns an object of class SimpleXMLElement with
properties containing the data held within the XML document, or FALSE on failure.
WarningThis 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.
Tip
Use libxml_use_internal_errors to suppress all XML
errors, and libxml_get_errors to iterate over them
afterwards.
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.