python视频教程栏目介绍python的Xpath语法。
一、XMl简介
(一)什么是 XML
- XML 指可扩展标记语言(EXtensible)
- XML 是一种标记语言,很类似 HTML。
- XML 的设计宗旨是传输数据,而非显示数据。
- XML 的标签需要我们自行定义。
- XML 被设计为具有自我描述性。
- XML 是 W3C 的推荐标准。
W3School 官方文档:http://www.w3school.com.cn/xml/index.asp
(二)XML 和 HTML 的区别
他们两者都是用于操作数据或者结构数据,在结构上大致相同的,但他们在本质上却存在着明显的区别。
数据格式 | 描述 | 设计目标 |
---|---|---|
XML | Extensible Markup Language ( 可扩展标记语言) | 被设计为传输和存储数据,其焦点是数据的内容。 |
HTML | HyperText Markup Language(超文本标记语言) | 显示数据以及如何更好显示数据。 |
HTML DOM | Document Object Model for HTML(超文本文来源gaodai#ma#com搞*!代#%^码$网*本标文档对象模型) | 通过 HTML DOM,可以访问所有的 HTML 元素, 连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。 |
(三)XML 的节点关系
<?XML version='1.0' encoding=""utf-8><book category="cooking"> <title lang="en">Harry Potter</title> <author>J K.Rowling</author> <year>2005</year> <price>29.00</price></book>
1.父(Parent)
每个元素以及属性都有一个父。上面是一个简单的 XML 例子中,book 元素是 title、author、year 以及 price 元素的父
2.子(Children)
元素节点可有零个、一个或多个子元素。在上面的例子中,title、author、year 以及 price 元素都是 book 元素的子元素
3. 同胞(Sibling)
拥有相同的父的节点。在上面的例子中,title、author、year 以及 price 元素都是同胞
4. 先辈(Ancestor)
某节点的父、父的父,等等。在上面的例子中,title 元素的先辈是 book 元素和 bookstore元素
5. 后代(Descendant)
某个节点的子,子的子等等。在上面的例子中,bookstore 的后代是 book、title、author、year 以及 price 元素:
二、XPATH
XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。
(一)选取节点
XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。下面列出了最常用的路径表达式:
表达式 | 描述 |
---|---|
nodename | 选取此节点的所有子节点。 |
/ | 从节点选取。 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑他们的位置。 |
. | 选取当前节点。 |
.. | 选取当前节点的父节点。 |
@ | 选取属性。 |