# DOMDocument::saveXML

(PHP 5, PHP 7)

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

### Description

public DOMDocument::saveXML ([ DOMNode `$node` [, int `$options` = 0 ]] ) : string

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. Currently only LIBXML_NOEMPTYTAG 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
--- | ---
5.1.0 | Added the `options` parameter

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