【发布时间】:2013-06-14 00:07:33
【问题描述】:
对于这个 XML:
<row>
<entry XY="1" al="23" se="5" ag="fgh"> </entry>
<entry XY="1" al="23" se="5" ag="fgh">Content1</entry>
<entry XY="1" al="23" se="5" ag="fgh">Content2</entry>
<entry XY="1" al="23" se="5" ag="fgh"> </entry>
<entry XY="1" al="23" se="5" ag="fgh">Content3</entry>
</row>
我有以下循环:
foreach ($toc_element->entry as $toc_element_line) {
if ($toc_element_line->xpath('/*[text()]')) {
array_push($arr, $toc_element_line);
}
}
我正在尝试测试当前元素是否为空。 Object 本身永远不会为空,因为可能为空的元素始终具有属性(我不在乎)。
XPath 方法(我显然很陌生)是否正确?如果是这样,我会怎么写?
提前非常感谢。 (我知道stackoverflow上有一些这样的问题,但我不太明白)
【问题讨论】:
-
你没有给出任何 XML 示例,所以我不太确定,但也许 php.net/strlen 是你要找的。span>
-
是的,您的 XPath 看起来不错。它将仅在存在文本作为子节点的情况下返回元素。
-
我添加了一个 XML 片段以更好地解释情况
标签: php xpath xml-parsing simplexml