simplexml_load_string

(PHP 5, PHP 7, PHP 8)

simplexml_load_string Interpreta uma string XML e a transforma em um objeto

Descrição

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

Recebe uma string XML bem-formada e a retorna como um objeto.

Parâmetros

data

Uma string XML bem-formada

class_name

Pode-se utilizar o parâmetro opcional simplexml_load_string() para retornar um objeto da classe especificada. Esta classe deve estender SimpleXMLElement.

options

Bit a bit OR das constantes de opções da libxml.

namespace_or_prefix

Prefixo ou URI do namespace.

is_prefix

true se namespace_or_prefix for um prefixo, false se for URI; o padrão é false.

Valor Retornado

Retorna um objeto da classe SimpleXMLElement com propriedades contendo os dados do documento XML, ou false em caso de falha.

Warning

Esta função pode retornar o valor booleano false, mas também pode retornar um valor não booleano que pode ser avaliado como false. Leia a seção sobre Booleanos para mais informações. Use o operador === para testar o valor retornado por esta função.

Erros/Exceções

Produz uma mensagem de erro E_WARNING para cada erro encontrado nos dados XML.

Tip

Utilize a função libxml_use_internal_errors() para suprimir todos os erros XML e a função libxml_get_errors() para iterar sobre eles posteriormente.

Exemplos

Example #1 Interpretar uma string 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);
?>

O exemplo acima produzirá:

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

Nesse ponto já é possível utilizar $xml->body e afins.

Veja Também