DOMDocument::saveXML
内部の XML ツリーを文字列として出力する
説明
public stringfalse DOMDocument::saveXML(DOMNodenull $node = null, int $options = 0)
パラメータ
-
node
-
ドキュメント全体ではなく、XML 宣言以外の特定のノードだけを
出力したい場合にこのパラメータを使用します。
-
options
-
追加のオプション。
LIBXML_NOEMPTYTAG と LIBXML_NOXMLDECL が指定できます。
PHP 8.3.0 より前のバージョンでは、LIBXML_NOEMPTYTAG のみサポートされていました。
戻り値
XML、あるいはエラーが発生した場合は false を返します。
エラー / 例外
-
DOM_WRONG_DOCUMENT_ERR
-
node が別のドキュメントのものである場合に
発生します。
例
例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>
参考
- DOMDocument::save
- DOMDocument::load
- DOMDocument::loadXML