SimpleXML:不扩展自关闭标签

时间:2017-08-07 06:42:37

标签: php xml simplexml

我在SimpleXML中遇到自关闭标签的问题。例如,我的xml文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<a>hello</a>
<b attr="1"/>
</root>

PHP代码:

$xml = simplexml_load_file($path);
echo $xml->asXML();

输出:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<a>hello</a>
<b attr="1"></b>
</root>

如您所见,SimpleXML将自动结束标记<b attr="1"/>转换为<b attr="1"></b>。我不需要这个。如何防止这种转换?

1 个答案:

答案 0 :(得分:2)

更改加载XML的方式

$xml = simplexml_load_file($path, null, LIBXML_NOEMPTYTAG);

这给...

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<a>hello</a>
<b attr="1"/>
</root>