PHP simplexml_load_file() Function
Description
The simplexml_load_file() function converts the specified XML file into a SimpleXMLElement object.
Syntax
PHP simplexml_load_file() Function has the following syntax.
simplexml_load_file(file,classname,options,ns,is_prefix);
Parameter
Parameter | Is Required | Description |
---|---|---|
file | Required. | Path to the XML file |
classname | Optional. | Class of the new object |
options | Optional. | Additional Libxml parameters. Is set by specifying the option and 1 or 0 (TRUE or FALSE, e.g. LIBXML_NOBLANKS(1)) |
ns | Optional. | A namespace prefix or URI |
is_prefix | Optional. | A Boolean value. TRUE if ns is a prefix. FALSE if ns is a URI. Default is FALSE |
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
- LIBXML_DOTTED_VERSION - Get dotted libxml version
Return
Returns a SimpleXMLElement object on success. FALSE on failure.
Example
Convert an XML file into a SimpleXMLElement object, then output keys and elements of the object.
Assume we have the following XML file, "note.xml":
<?xml version="1.0" encoding="ISO-8859-1"?>
<book>//from w w w . j a v a 2s . c o m
<name>PHP</name>
<name>Java</name>
</book>
PHP code
<?php
$xml=simplexml_load_file("test.xml");
print_r($xml);
?>
Example 2
Output the data from each element in the XML file:
<?php/*from ww w .j ava 2s .c o m*/
$xml=simplexml_load_file("test.xml");
echo $xml->to . "\n";
echo $xml->from . "\n";
echo $xml->heading . "\n";
echo $xml->body;
?>
Example 3
Output the element's name and data for each child node in the XML file:
<?php// w ww. j a v a 2 s . c o m
$xml=simplexml_load_file("test.xml");
echo $xml->getName() . "\n";
foreach($xml->children() as $child){
echo $child->getName() . ": " . $child . "\n";
}
?>