Interpreta un string XML en un objeto

# simplexml_load_string

(PHP 5, PHP 7, PHP 8)

simplexml_load_string — Interpreta un string XML en un objeto

### Descripción

function simplexml_load_string(
string `$data`,
?string `$class_name` = `SimpleXMLElement::class`,
int `$options` = 0,
string `$namespace_or_prefix` = "",
bool `$is_prefix` = `false`
): SimpleXMLElement|false

Convierte la cadena XML `data` y devuelve un objeto de la clase SimpleXMLElement.

### Parámetros

`data`

  Una cadena XML válida

`class_name`

  Puede utilizarse el parámetro opcional y, así, la función simplexml_load_string() devolverá un objeto de la clase especificada. Esta clase debe extender la clase SimpleXMLElement.

`options`
  Operación de 'OR' lógica de las constantes de opción libxml.
`namespace_or_prefix`

  Prefijo o URI del espacio de nombres.

`is_prefix`

  `true` si `namespace_or_prefix` es un prefijo, `false` si es la URI.

### Valores devueltos

Devuelve un object de la clase SimpleXMLElement cuyas propiedades contienen los datos del documento XML, o `false` si ocurre un error.

Advertencia

Esta función puede retornar `false`, pero también puede retornar un valor equivalente a `false`. Por favor, lea la sección sobre los booleanos para más información. Utilice el operador === para probar el valor de retorno exacto de esta función.

### Errores/Excepciones

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

Sugerencia

Utilice la función libxml_use_internal_errors() para suprimir todos los errores XML, y la función libxml_get_errors() para recorrerlos.

### Ejemplos

Ejemplo #1 Convertir una cadena XML

    <?php
    $string = <<<XML
    <?xml version='1.0'?>
    <document>
     <title>Forty What?</title>
     <from>Joe</from>
     <to>Jane</to>
     <body>
      I know that's the answer -- but what's the question?
     </body>
    </document>
    XML;

    $xml = simplexml_load_string($string);

    print_r($xml);
    ?>

El ejemplo anterior mostrará:

    SimpleXMLElement Object
    (
      [title] => Forty What?
      [from] => Joe
      [to] => Jane
      [body] =>
       I know that's the answer -- but what's the question?
    )

A partir de ahí, puede utilizarse `$xml->body` y cualquier otro elemento.

### Ver también

- simplexml_load_file() - Interpreta un fichero XML en un objeto
- SimpleXMLElement::__construct() - Crea un nuevo objeto SimpleXMLElement
- Manejo de errores XML
- libxml_use_internal_errors() - Se desactiva el reporte de errores de libxml y se almacenan para su lectura posterior
- Uso básico de SimpleXML

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open