我有這樣的結構刪除的SimpleXMLElement節點
<?xml version="1.0" encoding="iso-8859-1"?>
<my_events>
<event id="e20111129215359">
<title>the title</title>
<channel id="1">
<name>A name</name>
<onclick></onclick>
</channel>
<event_site>
<name/>
<url/>
</event_site>
<start_date>Thu Mar 08 2012</start_date>
<start_time>11:00 AM</start_time>
<end_date>null</end_date>
<end_time>null</end_time>
<notes>Notes for the event</notes>
</event>
</my_events>
的XML文件來刪除一個事件,我有這個PHP函數。
<?php
include_once("phpshared.php");
function delete_event($nodeid) {
$nodes = new SimpleXMLElement('my_events.xml', LIBXML_NOCDATA, true);
$node = $nodes->xpath("/my_events/event[@id='$nodeid']");
$node->parentNode->removeChild($node);
$formatted = formatXmlString($nodes->asXML());
$file = fopen ('my_events.xml', "w");
fwrite($file, $formatted);
fclose ($file);
}
echo delete_event(trim($_REQUEST['nodeid']));
?>
這不會刪除節點。有沒有不同的方式來做到這一點?
感謝您的回答。我選擇了其他選項,因爲我希望能夠以DOM的身份訪問節點。 – user823527 2012-03-11 01:32:16
這不是你問的問題。 – salathe 2012-03-11 11:28:46