如果 simplexml addChild 中的值为空,如何避免快捷方式关闭 xml 标签?

how to avoid shortcut closed xml tags if value is empty in simplexml addChild?

我使用 PHP SimpleXML 创建了一个 xml 生成器,现在的问题是,只要有空值,添加的元素就会插入一个快捷关闭标签,而不是一个完整标签.比如

而不是这个

<mytag></mytag>

输出给了我这个

<mytag/>

如何使用 PHP 的 simpleXMLElement 的 addChild() 解决此问题?

自闭合标签是 XML 的正常组成部分,所以通常情况下,您不必担心它们。但是,如果你真的想避免使用它们并使用完整的 <mytag></mytag> 即使是空的,SimpleXML 没有那个选项但是 DOM 有,你可以转换为 DOM 当你输出.

例如,如果您使用

$xml->asXML()

改为

dom_import_simplexml($xml)->ownerDocument->saveXML(null, LIBXML_NOEMPTYTAG);