XPath简明使用
返回对象:
$xpHandle = new \DOMXPath($doc); $list = $xpHandle->query("//div[@class='container']/h4/button");
执行匹配后返回list是一个对象数组,其中对象是DOMElement,都是均继承DOMNode
简单继承关系如下图
语法规则:
/ :按照层级一代一代的查找
// : 忽视层级,查找所有
[] 方块号 :
0->n :按照数组下标查找
last() : 最后一个
@* : 含有任意属性的标签
@ID 含有ID属性标签
not(@*) :不含属性标签
@ID=‘b1’ 含有ID属性,并且值为b1标签 ;比如:@class='container'
normalize-space(@id)='bbb' 含有id属性id属性值去掉前后空格的
name()= : 标签等于谋个值
start-with(“”,“”):标签,
contains(“”,“”):当其第一个字符串参数包含有第二个字符串参数时返回true.
比如://div[contains(@class,'container')]/h4/button
轴:忽略属性节点和命名空间节点
child::
descendant
parent
ancestor
following-sibling 后兄弟,单代
preceding-sibling 前兄弟,单代
following 途经节点所有子代
preceding 途经点所有父代
descendant-or-self
ancestor-or-self