1.XML(可扩展标记语言)
- X(extensible:可扩展)
- M(markup标记/标签)
- L(language语言)
HTML语言:是做网页的 美丽的展示数据
XML语言的作用:
1:保存数据文件(单机游戏) (因为保存在文件里读文件数据很慢) (数据库太大 不可能用数据库保存) |
2:网络上传数据(大网络传xml文件 游戏是传包) |
3:当配置文件 *.properties,*.xml(十个文件九个xml一个properties) |
2.XML的特点
- 平台无关性(windows,linux),独立的语言
- 90%的语言都支持xml,不支持的10%语言发布的时候,xml还没出世呢。
- xml具有自我描述性(内容自定义)
- hmtl和xml的区别就是:html是的标签元素官方定义好的 xml文件中,所有元素都是自定义!!!
<?xml version="1.0" encoding="UTF-8">
<ban>
<Student>
<id>1</id>
<name>旺旺</name>
</Student>
<Student>
<id>2</id>
<name>冰冰</name>
</Student>
<Student>
<id>3</id>
<name>邦邦</name>
</Student>
</ban>
3.XML的语法规则
- xml文件必须有根元素(树干)
- 2.xml元素(标签)有开必有合 (<p></p>)
- 3.xml元素对大小写敏感(区分大小写)
- 4.必须正确的嵌套<div><p></p></div>(不能<div><p></div></p>)
- 5.xml属性必须加“”(双引号)
4.CDATA区
在xml中书写特殊符号时,报错,忽略其本性,变成普通的字符串
<p> <![CDATA[ 10<5 ]]> </p> |
5.DTD文件
- DTD的英文 Document Type Definition 文档 类型 定义
- DTD的目的:帮助你编写合法的代码(自我理解为类似于抽象类),是一种自定义规范
- DTT和XML之间的关系:
- 类(人类)和对象(我)的关系
- 数据表表 和 行(一条记录)的关系
6.XSD文件(是xml结构定义)
- xsd是xml结构定义(XML Schemas Definition)
- xsd是dtd的替代品,比dtd高端(可以定义自己的数据类型)
- xsd的优点:(1)xsd的代码基于xml,没有专门的语法,和xml一样的解析和处理,(2) xsd支持一系列的数据类型
7.学会解析XML
解析xml共有四种方式,
前两种属于基础方法,是官方提供的与平台无关的解析方式;
后两种属于扩展方法,他们是在基础的方法之上扩展出来的。只适用于java平台
- DOM解析(不好用)
- SAX解析(不好用 不能随机存储 不能随机访问)
- JDOM解析(不好用)
- DOM4J解析(好用)
DOM解析:
把内存中构造出树形结构,
|
SAX解析:
|
JDOM解析:
|
DOM4J解析:(重点)
|
DOM4J 性能最高,其次是SAX, DOM和JDOM表现不好(解析10M大小的XML就内存溢出了。)
使用dom4j写的案例:
8.Xpath(XML文件 path路径)
- Xpath是一门在xml文档中快速查找信息的方式(是一种技术)
- 单纯的使用dom4j访问节点时,需要一层一层的处理,如果有了Xpath,访问层级的节点就简单了
- 使用Xpath需要导入Jaxen.1-1.-bata.jar