DOMDocument::saveXML

Dumps the internal XML tree back into a string

&reftitle.description; public ``string``false```DOMDocument::saveXML` ``DOMNode``null```node`&null; `int` `options` 0

Creates an XML document from the DOM representation. This function is usually called after building a new dom document from scratch as in the example below.

&reftitle.parameters;

`node`

- Use this parameter to output only a specific node without XML declaration rather than the entire document.

`options`

- Additional Options. The LIBXML_NOEMPTYTAG and LIBXML_NOXMLDECL options are supported. Prior to PHP 8.3.0, only the LIBXML_NOEMPTYTAG option is supported.

&reftitle.returnvalues;

Returns the XML, or &false; if an error occurred.

&reftitle.errors;

`DOM_WRONG_DOCUMENT_ERR`

- Raised if `node` is from another document.

&reftitle.changelog;

&Version; | &Description;
8.3.0 | LIBXML_NOXMLDECL is now supported.

&reftitle.examples;

### Saving a DOM tree into a string

    <?php

    $doc = new DOMDocument('1.0');
    // we want a nice output
    $doc->formatOutput = true;

    $root = $doc->createElement('book');
    $root = $doc->appendChild($root);

    $title = $doc->createElement('title');
    $title = $root->appendChild($title);

    $text = $doc->createTextNode('This is the title');
    $text = $title->appendChild($text);

    echo "Saving all the document:\n";
    echo $doc->saveXML() . "\n";

    echo "Saving only the title part:\n";
    echo $doc->saveXML($title);

    ?>

&example.outputs;

    Saving all the document:
    <?xml version="1.0"?>
    <book>
      <title>This is the title</title>
    </book>

    Saving only the title part:
    <title>This is the title</title>

&reftitle.seealso;

- `DOMDocument::save`
- `DOMDocument::load`
- `DOMDocument::loadXML`