Я пытаюсь изменить содержимое узла в файле XML с помощью simpleXML. Я знаю, что переменная для нового содержимого узла содержит нужный материал, но по какой-то причине файл не изменяется при его сохранении. Вероятно, у меня что-то не хватает, потому что я новичок в simpleXML. Вот весь PHP-скрипт:
<?php $doc=$_REQUEST["book"]; $div1=$_REQUEST["div1"]; $div2=$_REQUEST["div2"]; if ($div1=="") $div1=$_REQUEST["chapter"]; if ($div2=="") $div2=$_REQUEST["verse"]; $div3=$_REQUEST["div3"]; $textresponse=$_REQUEST["xmltext"]; $strippedresponse = "<?xml version='1.0'?>" . stripslashes($textresponse); echo("Saved changes to " . $doc . " " . $div1 . "." . $div2 ."<br />"); $fileName="/home/ocp/public_html/sites/default/docs/drafts/".$doc.".xml"; $xmlDoc = simplexml_load_file($fileName); $backupFileName="/home/ocp/public_html/sites/default/docs/backups/".$doc." ".date("Ymd His").".xml"; file_put_contents($backupFileName, $xmlDoc->asXML()); $backupSize = filesize($backupFileName); echo("Backup {$backupFileName} created:".$backupSize." bytes<br />"); if ($doc) { if ($div1) { if ($div2) { $newVerse = simplexml_load_string($strippedresponse); $oldVerse = $xmlDoc->xpath("//div[@number='".$div1."']/div[@number='".$div2."']"); $oldVerse = $newVerse; $newDoc = $xmlDoc->asXml(); file_put_contents($fileName, $newDoc); $newSize = filesize($fileName); echo("New file is ".$newSize." bytes <br />"); } } } ?>