我正在尝试使用 XPath 从文档中获取所有部分标题元素( H1, H2, H3, H4, H5, )的数量,例如:H6 $headerCount=$xpath->query("count(//*[self::h1 or self::h2 or self::h3 or self::h4 or self::h5 or self::h6])"); 我使用此示例在http://www.xpathtester.com/xpath上测试了上述查询,结果为“6”:<h2>Header 1</h2><h2>Header 2</h2><h3>Header 2.1</h3><h4>Header 2.1.1</h4><h2>Header 3</h2><h3>Header 3.1</h3>但是当我尝试像这样使用 $headerCount 时:echo "count: ".$headerCount->textContent;我收到此错误:Undefined property: DOMNodeList::$textContentDOMNodeList建议有一个节点列表,但我认为它只是一个数值,例如所有标题的数量为 6。谁能阐明我如何才能获得文档中所有标题的数量?
1 回答

大话西游666
TA贡献1817条经验 获得超14个赞
你的 XPath 很好;需要调整的是您的 PHP(正如 Alejandro在有用的评论中指出的那样)。
使用DOMXPath::evaluate
代替DOMXPath::query
:
$headerCount=$xpath->evaluate("count(//*[self::h1 or self::h2 or self::h3 or self::h4 or self::h5 or self::h6])");
正如预期的那样,然后$headerCount
将只是一个数值,例如所有标题的数量为 6 。
- 1 回答
- 0 关注
- 116 浏览
添加回答
举报
0/150
提交
取消