array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), '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' => 'ja', '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 — 内部の XML ツリーを文字列として出力する
DOM 表現から XML ドキュメントを作成します。この関数は、通常は以下の例のように DOM ドキュメントを新しく作成した後にコールされます。
node
ドキュメント全体ではなく、XML 宣言以外の特定のノードだけを 出力したい場合にこのパラメータを使用します。
options
追加のオプション。LIBXML_NOEMPTYTAG と LIBXML_NOXMLDECL がサポートされています。 PHP 8.3.0 より前のバージョンでは、LIBXML_NOEMPTYTAG だけがサポートされていました。
XML、あるいはエラーが発生した場合は false
を返します。
バージョン | 説明 |
---|---|
8.3.0 | LIBXML_NOXMLDECL がサポートされました。 |
例1 DOM ツリーを文字列に保存する
<?php
$doc = new DOMDocument('1.0');
// 出力はきれいに整形したいですね。
$doc->formatOutput = true;
$root = $doc->createElement('book');
$root = $doc->appendChild($root);
$title = $doc->createElement('title');
$title = $root->appendChild($title);
$text = $doc->createTextNode('これはタイトルです');
$text = $title->appendChild($text);
echo "ドキュメント全体を保存します\n";
echo $doc->saveXML() . "\n";
echo "タイトルの部分のみを保存します\n";
echo $doc->saveXML($title);
?>
上の例の出力は以下となります。
ドキュメント全体を保存します <?xml version="1.0"?> <book> <title>これはタイトルです</title> </book> タイトルの部分のみを保存します <title>これはタイトルです</title>