0

ここに情報を書き込む Web サイトがあり、XML ファイルがあります。ここに私のコードがあります。

<?php
$doc = new DOMDocument();
$doc->load("xml/latestContent.xml");
$rootElement = $doc->documentElement;

// Create latestpic element as a child of the root element
$latestPicElement = $rootElement->appendChild($doc->createElement("latestpic"));
$latestPicElement->appendChild($doc->createElement("item", "Latest Pic"));
$latestPicElement->appendChild($doc->createElement("content", $latestPic));

// Create latestvideo element as a child of the root element
$latestVidElement = $rootElement->appendChild($doc->createElement("latestvideo"));
$latestVidElement->appendChild($doc->createElement("item", "Latest Video"));
$latestVidElement->appendChild($doc->createElement("content", $videoData));

// Create latestfact element as a child of the root element
$latestFactElement = $rootElement->appendChild($doc->createElement("latestfact"));
$latestFactElement->appendChild($doc->createElement("item", "Latest Fact"));
$latestFactElement->appendChild($doc->createElement("content", $factData));

// Save back to XML file
$doc->save("xml/latestContent.xml");
?>

ここでの問題は、Web ページをロードするたびに、同じデータを XML ファイルに追加するこの関数をリロードすることです。可能であれば、元のデータを置き換えたいですか? どうすればこれを行うことができますか?replaceChild メソッドを調査しましたが、構文が正しくありません。誰か見せてくれませんか?

または、毎回空のxmlをロードするためにそこに追加できる方法はありますか? コンテンツを新しい XML ファイルに追加するだけでしょうか。

よろしくお願いします!

4

1 に答える 1

1

を使用する場合は、置き換えようとしているノードへのポインターが必要ですreplaceChild()。一方、すべてのデータを置き換えることが目的である場合、なぜ既存のファイルを読み取る必要があるのでしょうか。

//$doc->load("xml/latestContent.xml"); not needed
$rootElement = $dom->appendChild($doc->createElement("Root"));

この新しいドキュメントは、以前のドキュメントを上書きします。詳細については、こちらをご覧ください。

于 2012-05-18T00:21:40.417 に答える