简介
这是简化的xPath语法,提供更简单,但功能同样强大的解析规则。不同需要懂太多东西,只要会懂一点点的HTML知识,就可以写出强大的书源了。此解析方式,需要安装6.2.1版本(此版本正内测中)的爱阅书香才可以。
简单例子说明
例子1
a[@class=xyz][0].@href
说明:
获取HTML中class属性的值包含xyz的所有a标签, 取第一个结果,获取其href属性的值
例子2
div.li.a
说明:
先获取所有的div,得到结果1. 再获取结果1下面所有的li, 得到结果2,最后获取结果2下的所有a标签
规则说明
基本规则
标签名1[@条件1]...[@条件N][集合条件].标签名2[].@属性名#正则表达式
复杂规则
基本规则1 || 基本规则2 && 基本规则3
以下为规则说明:
- 标签名表示 html 中的所有有效的标签,如 a, div, dl。。。等等
- 以 . 为分隔符,第一段的结果为下一段要分析的内容。
- 以 @为开头的标签表示属性。如 @href, @id, @src 等等.下面为特殊规则
- @html 表示将结果格式化为包含 html 的字符串。
- @text 表示将结果格式化为文本,相当于:./text() 不包含HTML字符信息。
- @allText 表示指定节点下的所有元素的文本,相当于:.//text()
- []表示条件,分为前置条件与后置条件
- 前置条件,以[@开头,表示指定标签的某个属性值要包含或等于指定值。
- 以key=value的方式(只有一个=号),表示包含:属性值要包含value
- 以key==value的方式(有两个=号),表示相同:属性值要与value一致
- 支持以 and 或者是 or 的方式来生成多个条件。
- 后置条件,[]中的第一个字符不是@的。从0开始,-1表示最后一个,-2表示最后第二位,!表示排除指定位置的值,-表示对集合进行反转。
- #表示使用正则表达式对结果进行处理。
- 以 || 作为“或”的方式分隔规则, 只要前面有规则能取到数据,则停止。
- 以 && 作为”并”的方式分隔规则,合并所有规则的数据。
实战
使用xpathEx的方式写一个搜索书籍的配置。