0

我在这里有一个将信息写入 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");
?>

这里的问题是每次我加载网页时它都会重新加载这个函数,它只是将相同的数据添加回 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 回答