Example
Convert an XML file into an object, then output keys and elements of the object:
html
<?php
$xml=simplexml_load_file("note.xml");
print_r($xml);
?>
Definition and Usage
The simplexml_load_file() function converts an XML document to an object.
Syntax
text
simplexml_load_file(file, class, options, ns, is_prefix)
Parameter Values
| Parameter | Description |
|---|---|
| file | Required. Specifies the path to the XML file |
| class | Optional. Specifies the class of the new object |
| options | Optional. Specifies additional Libxml parameters. Is set by specifying the option and 1 or 0 (TRUE or FALSE, e.g. LIBXML_NOBLANKS(1)) Possible values: LIBXML_COMPACT - Activate nodes allocation optimization (may speed up application) LIBXML_DTDATTR - Set default DTD attributes LIBXML_DTDLOAD - Load external subset LIBXML_DTDVALID - Validate with the DTD LIBXML_NOBLANKS - Remove blank nodes LIBXML_NOCDATA - Merge CDATA as text nodes LIBXML_NOEMPTYTAG - Expand empty tags (e.g. <br/> to <br></br>), only available in the DOMDocument->save() and DOMDocument->saveXML() functions LIBXML_NOENT - Substitute entities LIBXML_NOERROR - Do not show error reports LIBXML_NONET - Disable network access while loading documents LIBXML_NOWARNING - Do not show warning reports LIBXML_NOXMLDECL - Drop the XML declaration when saving a document LIBXML_NSCLEAN - Remove redundant namespace declarations LIBXML_PARSEHUGE - Sets XML_PARSE_HUGE flag, which relaxes any hardcoded limit from the parser. This affects limits like maximum depth of a document and limits of the size of text nodes LIBXML_XINCLUDE - Implement XInclude substitution LIBXML_ERR_ERROR - Get recoverable errors LIBXML_ERR_FATAL - Get fatal errors LIBXML_ERR_NONE - Get no errors LIBXML_ERR_WARNING - Get simple warnings LIBXML_VERSION - Get libxml version (e.g. 20605 or 20617) LIBXML_DOTTED_VERSION - Get dotted libxml version (e.g. 2.6.5 or 2.6.17) |
| ns | Optional. Specifies a namespace prefix or URI |
| is_prefix | Optional. Specifies a Boolean value. TRUE if ns is a prefix. FALSE if ns is a URI. Default is FALSE |
Technical Details
| Return Value: | A SimpleXMLElement object on success. FALSE on failure |
|---|---|
| PHP Version: | 5+ |
More Examples
Assume we have the following XML file, "note.xml":
text
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Example
Output the data from each element in the XML file:
html
<?php
$xml=simplexml_load_file("note.xml");
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
?>
Example
Output the element's name and data for each child node in the XML file:
html
<?php
$xml=simplexml_load_file("note.xml");
echo $xml->getName() . "<br>";
foreach($xml->children() as $child)
{
echo $child->getName() . ": " . $child . "<br>";
}
?>