完全なxmlファイルではなく特定のノードを保存しようとしていますが、エラーが発生します。
キャッチ可能な致命的なエラー:DOMDocument :: saveXML()に渡される引数1は、DOMNodeのインスタンスである必要があります。これは、31行目のphp\corrdination.phpで指定されたDOMNodeListのインスタンスです。
私は運命のドキュメントに従っていますが、新しい要素を作成せず、すでに作成されたxmlファイルからのみ読み取るため、新しい要素の作成では機能しません。
私の31行目は
$resultX = $xpath->query('/stickers/sticker[id="200"]/position/x');
そして、変更されたノードのみを保存しようとすると、書き込みます。
echo $xml->saveXML($resultX);
それを行う方法について何か提案はありますか?これは私のphpファイル全体です。
$xml = new DOMDocument();
$xml->formatOutput = TRUE;
$xml->preserveWhiteSpace = FALSE;
$xml->load('../stickers.xml');
$xpath = new DOMXPath($xml);
$resultX = $xpath->query('/stickers/sticker[id="200"]/position/x');
$resultX->item(0)->nodeValue = "150";
echo $xml->saveXML($resultX);
クエリだけecho $xml->saveXML();
が機能する場合でも、前述したように、ノード構造全体が保存されます。
XMLファイル:
<stickers>
<sticker>
<position>
<x>0</x>
</position>
<text>Hello world </text>
<id>200</id>
</sticker>
</stickers>
ありがとう