XML简介
XML(EXtensible MarkuP Language):可扩展标记语言
XML 是一种很像HTML的标记语言。
XML 的设计宗旨是传输数据,而不是显示数据。
XML 是 W3C 的推荐标准。
XML 和 HTML 之间的差异
XML 和 HTML 为不同的目的而设计:
XML 被设计用来传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
XML的特点
XML与操作系统、编程语言的开发平台无关。
规范统一。
XML文档结构
<?xml version="1.0" encoding="UTF-8"?>
XML声明的组成部分
version:文档符合XML1.0规范。
encoding:文档字符编号,默认为”UTF-8”
XML元素:元素由开始标签、元素内容和标签组成。元素内容 可以包含子元素、字符数据等。
每个XML文档有且只有一个根元素。
根元素的特点如下:
XML中的特殊字符的处理
格式良好的XML文档需要遵循如下规则:
必须有XML声明语句。
必须有且只有一个根元素。
XML标签对大小写敏感。
XML标签成对出现。
XML元素正确的嵌套。
元素名称可以包含字母、数字或其他的字符。
元素名称中不能含空格。
命名空间的作用:命名空间有助于标准化元素和属性,并为它们加上唯一的标识,提供避免元素命名冲突的方法。
xmlns:[prefix]=“[命名空间的URI]”
解析XML技术
DOM介绍
DOM是Document Object Model即文档对象模型的简称。
DOM把XML文档映射成一个倒挂的树。
JAXP包含3个包,这3个包都在JDK中:
org.w3c.dom:W3C推荐的用于使用DOM解析XML文档的接口。
org.xml.sax:用于使用SAX解析XML文档的接口。
javax.xml.parsers:解析器工厂工具,程序员获得并配置特殊的解析器。
org.w3c.dom包中的常用接口
Document接口:Document对象代表整个XML文档,它也是对XML文档进行操作的起点。 Document接口继承自Node接口
Node接口:表示树中的一个抽象节点。
NodeList接口:包含了一个或者多个节点的列表。
Element接口:代表XML文档中的标签元素。
Element接口继承自Node,也是Node最主要的子对象。在标签中可以包含属性。
使用DOM读取XML的步骤:
1.创建解析器工厂对象(DocumentBuilderFactory)。
2.由解析器工厂对象创建解析器对象(DocumentBuilder)。
3.由解析器对象对指定XML文件进行解析,构建相应DOM树,创建Document对象。
4.以Document对象为起点对DOM树的节点进行增删改查操作使用
使用DOM保存XML的步骤:
1.创建转换器工厂对象(TransformerFactory)。
2.由转换器工厂对象创建转换器对象(Transformer)。
3.创建DOMSource对象(DOMSource)。
4.由转换器对象设置输出格式(setoutputProperty方法)。
5.创建StreamResult对象(包含保存文件的信息)。
DOM4J
DOM4j的常用接口
DOM4J的常用接口都在org.dom4j包里定义。