XPath用于XML

XPath是一门在XML中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性使用路径表达式进行导航。

XML是与HTML类似的可扩展标记语言

HTML用于显示数据,焦点是数据的外观;

XML用于存储和传输数据,焦点是数据的内容。

XML的特点

  • XML是纯文本,兼容性强

  • HTML中的标签都是预定义的,如(p)等,XML是没有预定义标签的,作者定义自己的标签,如(to)(from)等,它具有自我描述性

  • XML把数据从HTML分离,独立于软件、硬件及应用程序

  • XML是一种树形结构,必须包含根元素

  • XML的属性值必须加引号

  • XML中用实体引用避免在实体中出现有特殊意义的符号如<

  • 不同于HTML,XML中的空格会被保留

  • 回车符 (CR) 和换行符 (LF)

  • 1
    XML注释与HTML类似 <!-- This is a comment -->

XML 文档不会携带有关如何显示数据的信息。由于 XML 标签由 XML 文档的作者“发明”,浏览器无法确定像

这样一个标签究竟描述一个 HTML 表格还是一个餐桌。在没有任何有关如何显示数据的信息的情况下,大多数的浏览器都会仅仅把 XML 文档显示为源代码。在下面的章节,我们会了解几个有关这个显示问题的解决方案,其中会使用 CSS、XSL、JavaScript 以及 XML 数据岛

将XML样式化

  • CSS样式表,不常用
  • XSLT (eXtensible Stylesheet Language Transformations) (可扩展样式表语言转换)首选

XML命名空间

1
2
3
4
5
<f:table xmlns:f="http://www.w3school.com.cn/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

xmlns (XML namespace) 为前缀赋予了一个与某个命名空间相关联的限定名称,当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。即如下的语法:

1
xmlns:namespace-prefix="namespaceURI"

有了命名空间XML得到大大的简化,让我们省去在所有的子元素中使用前缀的工作:

1
2
3
4
5
<table xmlns="http://www.w3school.com.cn/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>

XSL 可扩展样式表语言实际上包含两个部分:

  • XSLT – 用于转换 XML 文档的语言
  • XPath – 用于在 XML 文档中导航的语言

XSLT 是指 XSL 转换 (XSL Transformation),它是 XSL 最重要的部分。