これは編集したい XML の一部です
<ScrapBook>
<Event>
<Name> Name of Event <Name>
<Other Elements>
</Event>
<ScrapBook>
イベントの名前を変更する必要があります。
remove_child を使用してノードを削除できます。しかし、同じ場所に別の要素を追加する方法がわかりません。
これは私のコードです:
public function editEventName($oldEventName, $newEventName){
$xmlDoc = new DOMDocument();
$xmlDoc->load($this->xmlFileName);
$events = $xmlDoc->getElementsByTagName("Event");
foreach($events as $event){
$eventNames = $event->getElementsByTagName("Name");
$eventN = $eventNames->item(0)->nodeValue;
if($oldEventName == $eventN){
$nud = $eventNames->item(0)->parentNode;
$nud->removeChild($eventNames->item(0));
// set name to $newEventName
}
$xmlDoc->saveXML();
$xmlDoc->save($this->xmlFileName);
}