如何在PHP中使用DOMDocument检测XML元素是否为空?

时间:2011-12-29 14:20:09

标签: php xml domdocument

如果删除元素中的元素,如果它是最后一个元素,则父元素会缩短为空元素。

示例:

开始: <element><child1>Inner HTML</child1><child2>Inner HTML</child2></element>

我删除了Child2,我得到: <element><child1>Inner HTML</child1></element>

我删除了Child1,我得到: <element/>

现在我希望这不会发生或者至少是一种检测元素是否为空的方法,所以我可以替换它。 我怎么能在PHP中使用DOMDocument来做到这一点。

...谢谢

2 个答案:

答案 0 :(得分:2)

您应该能够通过检查list of child nodes的长度来确定元素是否为空:

$isEmpty = $elem->childNodes->length === 0;

请注意,不仅元素可以是其他元素的子节点,还有CDATA sectionscommentsplain text

答案 1 :(得分:2)

借鉴the PHP manual

count($elem->children());

所以,检查是否为空:

$isEmpty = count($elem->children()) === 0 ? true : false;