PHP-DomDoc&;XPath获取未知子元素的数目
我使用DomDoc检索网站的内容,并使用XPath查询某些元素。例如,我查询PHP-DomDoc&;XPath获取未知子元素的数目,php,xpath,domdocument,Php,Xpath,Domdocument,我使用DomDoc检索网站的内容,并使用XPath查询某些元素。例如,我查询元素-通过在循环$parations=$dom->query('//p')->item(I)中执行类似操作query('//p')->item(i)可以使用$element->getElementsByTagName('*')->length作为查找所有子体的DOM方式,或者使用$DOM->query('./*',$element)作为XPath方式。对于子元素,使用$dom->query('*',$element)那么
元素-通过在循环$parations=$dom->query('//p')->item(I)中执行类似操作然后继续在循环内操作
。现在,有没有一种方法可以找出
中可能包含的其他HTML元素的类型,以及段落元素中还有多少其他元素
我见过这个例子:
但这似乎只有在您了解子元素的情况下才有效?如果我不知道
的“内容”,如何获取计数和元素名称
谢谢大家! 在任何DOM元素上,您都可以使用getElementsByTagName('*')
查找所有子元素,或者使用相对于元素的XPath查找路径为*
的所有子元素,或者使用XPath表达式count(*)对它们进行计数
或者您可以分别使用//*
对所有子元素执行相同的操作计数(./*)
因此给定$element=$dom->query('//p')->item(i)
可以使用$element->getElementsByTagName('*')->length
作为查找所有子体的DOM方式,或者使用$DOM->query('./*',$element)
作为XPath方式。对于子元素,使用$dom->query('*',$element)
那么,在任何dom元素上,您都可以使用getElementsByTagName('*')
查找所有子元素,或者使用相对于元素的XPath查找路径*
的所有子元素,或者使用XPath表达式count(*)对它们进行计数
或者您可以分别使用//*
对所有子元素执行相同的操作计数(./*)
因此给定$element=$dom->query('//p')->item(i)
可以使用$element->getElementsByTagName('*')->length
作为查找所有子体的DOM方式,或者使用$DOM->query('./*',$element)
作为XPath方式。对于子元素,使用$dom->query(“*”,$element)
这非常有效。非常感谢。您还知道检索子代名称的方法吗?因为我必须确定
中存在什么类型的HTML元素(我所说的名称不是指HTML属性“name”,我指的是HTML元素名,即实际的标记),节点的属性都有文档记录,请参见,这样您就可以使用$Element->localName
。这工作得很好。非常感谢。您还知道检索子代名称的方法吗?因为我必须确定
中存在什么类型的HTML元素(我所说的名称不是指HTML属性“name”,我指的是HTML元素名,即实际的标记),所以节点的属性是文档化的,请参见,这样您就可以使用$Element->localName
。