【发布时间】:2011-12-13 14:59:39
【问题描述】:
您好,我对 php 中的 asXML 函数有疑问。假设我有一个名为 xml_file 并具有以下内容的 xml 文件。
<employees>
<employee>
<name>Mark</name>
<age>27</age>
<salary></salary>
</employee>
<employee>
<name>Jack</name>
<age>25</age>
<salary>$4000</salary>
</employee>
</employees>
我编写了这段代码来更改我的 xml 文件中的变量。
$xml = new SimpleXMLElement(file_get_contents($xml_file));
$xml->employee[1]->name = 'David';
$xml->asXML($xml_file) or die ("asXML failed.\n");
我的问题是,由于第一个工资标签是空的,asXML 函数会破坏这个标签,它会像那样输出
<employees>
<employee>
<name>Mark</name>
<age>27</age>
<salary/>
</employee>
<employee>
<name>David</name>
<age>25</age>
<salary>$4000</salary>
</employee>
</employees>
如何防止这种情况发生?感谢您提供任何适当的解决方案...
【问题讨论】: