# simplexml_load_file

(PHP 5, PHP 7, PHP 8)

simplexml_load_file — Interpreta un fichero XML en un objeto

### Descripción

simplexml_load_file(
string `$filename`,
string `$class_name` = "SimpleXMLElement",
int `$options` = 0,
string `$ns` = "",
bool `$is_prefix` = `false`
): SimpleXMLElement

Convierte el documento correcto XML del fichero dado en un objeto.

### Parámetros

`filename`

  Ruta al fichero XML

  > Nota:

  > Libxml 2 no escapa la URI, así que si es necesario pasar, por ejemplo `b&c`, como parámetro `a` de la URI, hay que llamar a `simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c')))`. Desde PHP 5.1.0 no es necesario hacer esto porque PHP lo hará automáticamente.

`class_name`

  Este parámetro opcional puede ser usado cuando se necesita que simplexml_load_file() retorne un objeto de la clase especificada. Esa clase debe extender de la clase SimpleXMLElement.

`options`

  Desde PHP 5.1.0 y Libxml 2.6.0 puede usarse `options` para especificar parámetros Libxml adicionales.

`ns`

  El prefijo del espacio de nombres o un URI.

`is_prefix`

  `true` si `ns` es un prefijo, `false` si es un URI; por defecto es `false`.

### Valores devueltos

Devuelve un object de tipo SimpleXMLElement cuyas propiedades contienen los datos del documento XML, o `false` en caso de error.

Advertencia

Esta función puede devolver el valor booleano `false`, pero también puede devolver un valor no booleano que se evalúa como `false`. Por favor lea la sección sobre Booleanos para más información. Use el operador === para comprobar el valor devuelto por esta función.

### Errores/Excepciones

Produce un mensaje de error `E_WARNING` para cada error encontrado en los datos XML.

Sugerencia

Usar libxml_use_internal_errors() para suprimir todos los errores XML y libxml_get_errors() para iterar sobre cada uno de ellos posteriormente.

### Historial de cambios

Versión | Descripción
--- | ---
5.2.0 | Se añadió el parámetro opcional `is_prefix`.

### Ejemplos

Ejemplo #1 Interpreta un documento XML

`<?php
// El fichero test.xml contiene un documento XML con un elemento raíz y, al
// menos, un elemento /[raiz]/titulo.
if (file_exists('test.xml')) {
$xml = simplexml_load_file('test.xml');
print_r($xml);
} else {
exit('Error abriendo test.xml.');
}
?>`

Este script mostrará, si no hay errores:

    SimpleXMLElement Object
    (
      [titulo] => Título ejemplo
      ...
    )

En este punto, se puede seguir recorriendo usando `$xml->titulo` y cualquier otro elemento.

### Ver también

- simplexml_load_string() - Interpreta un string de XML en un objeto
- SimpleXMLElement::__construct() - Crea un nuevo objeto SimpleXMLElement
- Tratar con los errores XML
- libxml_use_internal_errors() - Deshabilita errores libxml y permite al usuario extraer información de errores según sea necesario
- Uso básico de SimpleXML