Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<SimpleXMLElement::addChildSimpleXMLElement::attributes>
^SimpleXMLElementLast updated: Mon, 26 Oct 2026

SimpleXMLElement::asXML

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::asXML — Return a well-formed XML string based on SimpleXML element

Description

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

The asXML method formats the parent object's data in XML version 1.0.

Parameters

filename

If a string value is provided, the function writes the data to the file rather than returning it.

Return Values

If the filename isn't specified, this function returns a string on success and false on error. If the parameter is specified, it returns true if the file was written successfully and false otherwise.

Changelog

Version Description
8.0.0 filename is nullable now.

Examples

Example #1 Get 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();

?>

The above example will output:

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

asXML also works on Xpath results:

Example #2 Using asXML() on SimpleXMLElement::xpath() results

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

$xml = new SimpleXMLElement($string);

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

foreach ($result as $node) {
    echo $node->asXML();
}
?>

The above example will output:

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

See Also


<SimpleXMLElement::addChildSimpleXMLElement::attributes>
^SimpleXMLElementLast updated: Mon, 26 Oct 2026