DOMNode-> ChildNodes-> length返回不正确的值

时间:2015-02-12 09:37:27

标签: php web-scraping domdocument domxpath

我有一个PHP脚本,它解析网页并使用DOMDocument和DOMXpath库导航它。 Wen运行$tr->ChildNodes->length得到3 <td>,指令返回6,其中0返回第一个<td>,1是空字符串(19),2是第二个{{1} },3再次是空字符串(19),4是第三个<td>,5是另一个空字符串(19)和6是页面的整个HTML。 (使用<td>测试等) 如何让$dom->saveHTML($tr->childNodes->item(0)返回正确的数字?为什么它表现得如此奇怪?

->length

请注意,我省略了一些属性,如样式,类,数据等。

1 个答案:

答案 0 :(得分:0)

这种行为并不完全&#34;奇怪&#34;。在DOM中,换行符实际上被视为空节点。为了得到正确的&#34;子项的数量,您必须从您要尝试解析的文档中删除换行符,或者获取所有子项并从此节点列表中删除空元素。