array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'en', ), 'this' => array ( 0 => 'domdocument.savexml.php', 1 => 'DOMDocument::saveXML', ), 'up' => array ( 0 => 'class.domdocument.php', 1 => 'DOMDocument', ), 'prev' => array ( 0 => 'domdocument.savehtmlfile.php', 1 => 'DOMDocument::saveHTMLFile', ), 'next' => array ( 0 => 'domdocument.schemavalidate.php', 1 => 'DOMDocument::schemaValidate', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/dom/domdocument/savexml.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7, PHP 8)
DOMDocument::saveXML — Dumps the internal XML tree back into a 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.
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.
Returns the XML, or false
if an error occurred.
Version | Description |
---|---|
8.3.0 | LIBXML_NOXMLDECL is now supported. |
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>