Dumps the internal XML tree back into a string

- « DOMDocument::saveHTMLFile

- DOMDocument::schemaValidate »

- PHP Manual
- DOMDocument
- Dumps the internal XML tree back into a string

# DOMDocument::saveXML

(PHP 5, PHP 7, PHP 8)

DOMDocument::saveXML — Dumps the internal XML tree back into a string

### Description

public DOMDocument::saveXML(?DOMNode `$node` = `null`, int `$options` = 0): string|false

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.

### 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.

### Return Values

Returns the XML, or `false` if an error occurred.

### Errors/Exceptions

`DOM_WRONG_DOCUMENT_ERR`

  Raised if `node` is from another document.

### Changelog

Version | Description
--- | ---
8.3.0 | LIBXML_NOXMLDECL is now supported.

### Examples

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

    ?>

The above example will output:

    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>

### See Also

- DOMDocument::save() - Dumps the internal XML tree back into a file
- DOMDocument::load() - Load XML from a file
- DOMDocument::loadXML() - Load XML from a string