SimpleXMLElement::asXML

Return a well-formed XML string based on SimpleXML element

&reftitle.description; public ``string``bool```SimpleXMLElement::asXML` ``string``null```filename`&null;

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

&reftitle.parameters;

`filename`

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

&reftitle.returnvalues;

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.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `filename` is nullable now.

&reftitle.examples;

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

    ?>

&example.outputs;

    <?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:

### Using asXML() on `SimpleXMLElement::xpath` results

    <?php
    // Continued from example XML above.

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

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

&example.outputs;

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

&reftitle.seealso;

- `SimpleXMLElement::__toString`
- simplexml.examples-basic