php ve SimpleXML - nasıl düğüm içeriğini değiştirmek için

0 Cevap php

Ben SimpleXML kullanarak bir XML dosyasında bir düğümün içeriğini değiştirmek için çalışıyorum. Ben yeni düğüm içeriği için değişken doğru şeyler içerdiğini biliyorum, ama ne zaman kaydedilir nedense dosya değiştirilmez. Ben SimpleXML yeniyim çünkü muhtemelen, temel bir şey eksik. İşte bütün php betik:

<?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("Y-m-d H.i.s").".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 />");
            }
        }
    }
?>

0 Cevap