simplexml_load_file

(PHP 5, PHP 7)

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

Retorna un object de tipo SimpleXMLElement cuyas propiedades contienen los datos del documento XML, o FALSE en caso de error.

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.

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