4.4 XML相关知识
本节我们来了解一下XML相关的概念,重点认识一下XML的树结构。
4.4.1 XML简介
我们还是通过几个问题来简单了解一下XML。
(1)什么是XML
●XML是可扩展标记语言(eXtensible Markup Language)的英文缩写。
●XML是一种标记语言,类似HTML。
●XML的设计宗旨是传输数据,而非显示数据。
●XML标签没有被预定义,需要自行定义。
●XML被设计为具有自我描述性。
●XML是W3C的推荐标准。
(2)XML和HTML有什么不同
●XML不能用于替代HTML。
●XML和HTML的设计目的不同。
●XML被设计为传输和存储数据,其重点是数据的内容。
●HTML被设计用来显示数据,其重点是数据的外观。
●HTML旨在显示信息,而XML旨在传输信息。
(3)XML的用途
●把数据从HTML中分离。
●简化数据共享。
●简化数据传输。
●简化平台的变更。
●使数据更有用。
●用于创建新的网络语言。
4.4.2 XML树结构
下面是一个XML文档的示例。
<?xml version="1.0" encoding="UTF-8"?> <note> <to>SK</to> <from>Storm</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
XML使用的是简单的具有自我描述性的语法:第一行是XML声明,它定义了XML的版本(1.0)和所使用的编码(UTF-8字符集);第二行描述了文档的根元素(像在说:“本文档是一个便签。”)。
<note>
接下来4行描述了根元素的4个子元素(to、from、heading以及body)。
<to>SK</to> <from>Storm</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body>
最后一行定义了根元素的结尾。
</note>
XML文档形成了一种树结构。XML文档必须包含根元素,该元素是所有其他元素的父元素。XML文档中的元素形成了一棵文档树,这棵树从根部开始,扩展到树的最底端。此外,所有元素均可拥有子元素。
<root> <child> <subchild>...</subchild> </child> </root>
父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素,相同层级的子元素为同胞(兄弟或姐妹)。所有元素均可拥有文本内容和属性。
例如下面这个XML文档示例。
<bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
我们可以将其描述为树结构,如图4-16所示。
图4-16 XML树结构
例子中的根元素是<bookstore>,文档中的所有<book>元素都被包含在<bookstore>中。<book>元素有4个子元素:<title>、< author>、<year>、<price>。
4.4.3 XPath
XPath的全称是XML Path Language,即XML路径语言。它是一门可以在XML文档中查找信息的语言。XPath基于XML树结构,提供了在数据结构树中找寻节点(又称结点)的能力。提出XPath的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型,但是XPath很快被开发者用来当作小型查询语言。在做WebUI自动化测试的时候,我们可以使用XPath来定位元素。
XPath使用路径表达式在XML文档中选取节点,节点是通过沿着路径或者按步来选取的。表4-4所示的是常用的路径表达式。
表4-4 XPath路径表达式
表4-5所示为一些路径表达式以及表达式的结果。
表4-5 XPath示例
XPath相关的知识先简单介绍到这里。如果读者意犹未尽的话,可以移步官网进行学习。
在下一章中,我们会结合元素定位来介绍一些XPath的常见用法。
本章讲解了一些前端基本知识,包括HTML、CSS、JavaScript和XML,简单总结如下。
●HTML用来展示网页的内容。
●CSS实现了网页的布局。
●JavaScript实现了网页的动态功能。
●XML用来存储网页的数据。