我正在处理XML文件。表单中的数据转到此文件。 首先,我使用root标签创建新的XML文件:
$doc = new DOMDocument('1.0')
$root = $doc->createElement('users');
$doc->appendChild($root);
$doc->save('path/filename.xml');
然后程序打开此文件并添加新数据:
$doc = new DOMDocument('1.0');
$doc->load('path/filename.xml');
$doc->formatOutput = true;
$doc->preserveWhiteSpace = false;
...adding some data...
$doc->save('path/filename.xml');
当我的程序第一次添加数据时,formatOutput看起来很好:
<users>
<user>
<name>Username1</name>
</user>
</users>
但是当程序再次添加数据时,formatOutput不起作用:
<users>
<user>
<name>Username1</name>
</user>
<user><name>Username2</name></user><user><name>Username3</name></user></users>
答案 0 :(得分:1)
我发现了错误。必须加载formatOutput和preserveWhiteSpace:
$doc = new DOMDocument('1.0');
$doc->formatOutput = true;
$doc->preserveWhiteSpace = false;
$doc->load('path/filename.xml');
感谢@kodmanyagha提供链接。