什么是xml?
- 定义: 可扩展标记性语言(EXtensible Markup Language)
- 特定: xml是具有自描述特性的半结构化数据。
- 作用: xml主要用来传输数据
xml和html的区别
-
语法要求不同: xml的语法要求更严格
-
在html中不区分大小写,在xml中严格区分
-
在html中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略
或者 - 标记。在xml中,是严格的树状结构,绝对不能省略任何标记
- 在xml中,拥有单个标记二没有匹配的结束标记的元素必须用一个/字符作为结尾
- 在xml中,属性值必须分装在引号中。在html中,引号可用可不用
- 在html中属性名可以不带属性值,xml必须带
- xml文档中,空白部分不会被解析器自动删除,但是html是过滤掉空格的
-
-
标记不同
- html使用固有的标记,xml没有固有标记
- html标签是预定义的,xml标签是自定义的、可扩展的
-
作用不同
- html是用来显示数据
- xml使用来传输数据的
xpath: 路径表达式
-
xpath: 是用来筛选html或者xml中元素语法
-
xml和html中一些名词
-
选取节点
表达式 描述 nodename 选取此节点的所有子节点 / 从根节点选取(绝对路径) // 从任意节点选取(相对路径) . 选取当前节点 . . 选取当前节点的父节点 @ 选取属性 -
谓语
路径表达式 结果 //book[1] 第一个 book 元素 //book[last()] 最后一个 book 元素 //book[last()-1] 倒数第二个 book 元素 //book[position()>1] 不要第一个 book 元素 /a[@href] 根下有href属性的a元素 /a[@title=“title”] 根下title="title"的a元素 /book[price>2]//a 根下book的price属性>2的所有a元素 -
选取多个路径
“|” : 表示"和"
例: “/a | //input” : 选取根下的a元素和所有的input元素
6.其他选择方法
//*[@id="list_head"or@id=“list1”]
选择任意标签中id="list_head"或@id="list1"的标签
//table//tr/td[position() mod 2=1 and position() > 1] 选择单数td标签但不选择第一个td
参考:https://www.it1352.com/652847.html
//table//tr/td[position() mod 2=0] 选择双数td标签
xpath 选择class中包含a的数据
https://www.cnblogs.com/udskiblog/p/9431499.html