Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<simplexml_import_domsimplexml_load_string>
^SimpleXML FunctionsLast updated: Mon, 26 Oct 2026

simplexml_load_file

(PHP 5, PHP 7, PHP 8)

simplexml_load_file — Interprets an XML file into an object

Description

function simplexml_load_file(
    string $filename,
    ?string $class_name = SimpleXMLElement::class,
    int $options = 0,
    string $namespace_or_prefix = "",
    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

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

Bitwise OR of the libxml option constants.

namespace_or_prefix

Namespace prefix or URI.

is_prefix

true if namespace_or_prefix 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.

Warning

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.

When LIBXML_RECOVER is set in options and the input is not empty but no root element can be recovered, an uninitialized SimpleXMLElement is returned instead of false.

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.

Throws a ValueError if options does not fit in an int.

Changelog

Version Description
8.0.0 A ValueError is now thrown if options does not fit in an int.

Examples

Example #1 Interpret an XML document

<?php
// The file examples/book.xml contains an XML document with a root element
// and at least an element /[root]/title.

if (file_exists('examples/book.xml')) {
    $xml = simplexml_load_file('examples/book.xml');
 
    print_r($xml);
} else {
    exit('Failed to open examples/book.xml.');
}
?>

This script will display, on success:

SimpleXMLElement Object
(
  [book] => Array
  ...
)

At this point, you can go about using $xml->title and any other elements.

See Also


<simplexml_import_domsimplexml_load_string>
^SimpleXML FunctionsLast updated: Mon, 26 Oct 2026