SimpleXMLElement::asXML

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::asXML Retorna uma string XML bem formada (well-formed) baseada em um elemento SimpleXML

Descrição

public SimpleXMLElement::asXML(?string $filename = null): string|bool

O método asXML formata os dados dos objetos pais em XML de versão 1.0.

Parâmetros

filename

Se um string for fornecido, a função grava os dados no arquivo em vez de retorná-lo.

Valor Retornado

Se o filename não for especificado, esta função retornará uma string no caso de sucesso, e false no caso de erro. Se o parâmetro for especificado, retornará true se o arquivo for escrito com sucesso, e false caso contrário.

Registro de Alterações

Versão Descrição
8.0.0 filename é anulável agora.

Exemplos

Example #1 Recuperando o XML

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

echo $xml->asXML(); // <?xml ... <a><b><c>text</c><c>stuff</c> ...

?>

O exemplo acima produzirá:

<?xml version="1.0"?>
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>

O método asXML também funcionará em resultados Xpath:

Example #2 Utilizando asXML() em resultados SimpleXMLElement::xpath()

<?php
// Continuação exemplo acima.

/* Pesquisa por <a><b><c> */
$result = $xml->xpath('/a/b/c');

foreach ($result as $node) {
    echo $node->asXML(); // <c>text</c> e <c>stuff</c>
}
?>

O exemplo acima produzirá:

<c>text</c><c>stuff</c>

Veja Também