PHP DOM:获取没有后代节点的Nodevalue

时间:2010-11-14 23:19:57

标签: php xml dom nodes nodevalue

我正在使用php dom函数nodeValue来提取内容文本。但它也会返回后代值:

<example>
<inhalt>123<more>45</more></inhalt>
</example>

根据我的喜好返回inhalt 12345和123。我知道在inhalt中有文字不是感觉而不是很好,但我如何检查inhalthasNodeValue中没有文字?

1 个答案:

答案 0 :(得分:3)

正如Phil所说,文本也是在节点中组织的。因此,您的节点 inhalt 有两个子节点:一个文本节点(“123”)和一个名为 more 的元素节点,它还有一个文本节点(“45”)。 / p>

如果您只是想知道,如果元素 more 之前有文本,请测试是否至少有一个元素,然后测试第一个元素是否为文本(应该是 DOMText 据我记得。)

如果你想知道,如果“根”至少有一个元素,则迭代所有孩子并进行相同的测试。

http://www.php.net/manual/en/class.domtext.php