什么是XML:它是一种超文本语言,但又类似于HTML.可以自定义标签
作用:1,可以存储数据, 2,可以作为配置文件
XML文件的组成:1,文档声明2元素3属性4注释
1,文档声明格式由2部分组成:一,version:版本号,大多为1.0.二,encoding:文档编码:UTF-8
固定格式:<?xml version="1.0" encoding="UTF-8"?>里面只有2个属性
2,元素:element.由开始标签,元素体,结束标签,例<hello>大家好</hello>
3,属性:它是元素的一部分,一个元素可以有N个属性,但不能出现同名属性
4,注释:以“<!--”开始,以“-->”结束
,注释的内容被解析器忽略
XML约束:没有规矩不成方圆,虽然XML作为超文本文档但是也必须遵守一定的规则,来约束它的的书写规范,我们称为XML约束,常见的有2种DTD,和Schema:
DTD:(Document Type Definition)文档类型定义,用来约束XML文档的书写。规定了XML文档中可书写的元素名称,子元素的名称及顺序,元素的属性等.一般我们都是根据DTD约束文档编写xml文档.
引入:<!DOCTYPE 根元素 SYSTEM "文件名">
,引入DTD文件后,编写的xml文件就受到了限制,但可以根据提示去编写
Schema:它是新的xml文档约束,扩展名为xsd,不是xml,通过提供“schema.xsd”编写xml文档
dom4j:在前边我们提到xml可以存储数据,在存储数据后我们就希望通过程序来获得xml的内容,这时候就需要解析器来解析.
一般常见的解析方式有三种:Dom, SAX,PULL
1,Dom(树)要求解析器把整个xml文档加载到内存中,并解析成一个Document对象
2,SAX,是一种高效的解析方法,它是扫描一行解析一行.(但是只能读,逐行后就释放资源)
3,PULL,是Android内的解析方法
一般常用的开发解析包为dom4j,具有性能优异、功能强大和极其易使用的特点,如果想要使用dom4j需要引入支持dom4j的jar包 dom4j-1.6.1.jar.放在lib包下
解析核心类 :
SaxReader : 读取 xml 文件 , 返回 Document 对象
方法: read(“文件路径”)
Document : 表示整片xml 文档.
方法 : getRootElement() 获取根标签.
1,创建SAXReader,读取xml文档
2,read读取xml文档,返回一个document对象,代码: