XML Basics

XML是什么

  • XML的全称是Exensible Markup Language,可扩展标记语言
  • 编写XML就是编写标签,与HTML非常相似
  • 良好的人机可读性

XML与HTML的比较

  • XML与HTML非常相似,都是编写标签
  • XML没有预定义的标签,HTML存在大量预定义的标签
  • XML重在保存与传输数据,HTML用于显示信息

XML的用途

  • 作为应用配置文件
  • 用于保存程序产生的数据
  • 网络间的数据传输,利用soap协议

XML文档结构

  • 第一行必须是XML声明
  • 有且只有一个根节点
  • XML标签的书写规则与HTML相同

XML声明

  • XML声明说明XML文档的基本信息,包括版本号与字符集,写在XML第一行
  • <?xml version="1.0" encoding="UTF-8"?>

XML标签书写规则

合法的标签名

  • 标签名要有意义
  • 建议使用英文小写字母,单词之间使用-分割
  • 建议多级标签之间不要存在重名的情况

适当的注释与缩进

  • 更容易阅读

合理使用属性

  • 具有唯一性的值可以作为属性

处理特殊字符

  • <>
  • &lt;&gt;

CDATA标签

  • CDATA指的是不应由XML解析器进行解析的文本数据
  • <![CDATA["content"]]>

有序的子元素

  • 在XML多层嵌套的子元素中,标签前后顺序应保持一致

XML语义约束

  • XML文档结构正确,但可能不是有效的
  • XML语义约束有两种定义方式,DTD和XML Schema

Document Type Definition

  • 文件扩展名为 .dtd
  • 在XML中使用<!DOCTYPE>标签来引用DTD文件

XML Schema

  • 文件扩展名为 .xsd
  • 比DTD更为复杂,提供了更多功能
  • 提供了数据类型,格式限定,数据范围等特性
  • 是W3C标准

DOM文档对象模型

  • Document Object Model 定义了访问和操作XML文档的标准方法,DOM把XML文档作为树结构来查看,能够通过DOM树来读写所有元素

Dom4j

  • 一个易用的,开源的库,用于解析XML,它应用于Java平台,具有性能优异,功能强大和及其易用的特点
  • Dom4j将XML视为document对象
  • XML标签被Dom4j定义为element对象

XPath路径表达式

  • XML文档中查找数据的语言
  • 掌握XPath可以极大地提高在提取数据时的开发效率
  • 学习XPath本质就是掌握各种形式表达式的使用技巧