PHP脚本保存xml而不进行更新

时间:2011-08-15 15:35:42

标签: php xml

此脚本使用原始数据创建新的XML文件,但没有更新。

<?php

$dom = new DOMDocument();
$dom->load('communities.xml');

$dom->preserveWhiteSpace = false; 
$dom->formatOutput = true; 

// get document element  

$root   = $dom->documentElement;  

$name     = $dom->createElement("NAME");  
$nameText = $dom->createTextNode("Hobbies");  
$name->appendChild($nameText); 

$community = $dom->createElement('COMMUNITY');
$community->appendChild($name);  
$dom->save('communities.xml');

$tidy_options = array(
                'input-xml'    => true,
                'output-xml'   => true,
                'indent'       => true,
                'wrap'         => false,
        );
$tidy = new tidy();
$tidy->parseFile('communities.xml', $tidy_options);
$tidy->cleanRepair();
echo $tidy;

return;

?>

权限是正确的,因为文件格式已修改,文件以新日期保存。

3 个答案:

答案 0 :(得分:1)

看起来你缺少一些附加声明,即:

$root->appendChild($name);
...
$root->appendChild($community);

答案 1 :(得分:0)

该文件可能会被修改并有一个新的日期,但您正在进行两次保存操作,可能只有整洁的文件实际上正在执行任何操作。尝试:

if ($dom->save('communites.xml') === FALSE) {
    die(libxml_get_errors());
}

将输出任何DOM错误

答案 2 :(得分:0)

创建元素后,您必须将它们添加到文档中:

$community = $dom->createElement('COMMUNITY');
$root->appendChild($community);