先来个XML例子
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<楼房 height="23m" length="56m" width="12m">
<结构>混凝土结构<结构>
<建筑商>XXX建筑集团</建筑商>
<类别>商用</类别>
</楼房>
</root>
第一章 XML 简介
XML(eXtensible Markup Language)称之为可扩展置标语言,所谓可扩展性指XML允许用户按照XML规则自定义标记。(相对HTML不可自由扩展)
XML文件保存的扩展名必须为“.xml”
XML第一行必须为XML声明。格式:<?xml version="1.0" ?>
声明中还可以指定encoding。<?xml version="1.0" encoding="UTF-8" ?>
XML与HTML有何不同?
XML可以很好地描述数据的结构,有效地分离数据的结构和表示,可以作为数据交换的标准格式。而HTML是用来编写Web页的语言,HTML把数据和数据的显示外观捆绑在一起。
使用CSS显示XML中的数据
可在声明XML下一行 进行如下声明 <?xml-stylesheet href="show.css" type="text/css" ?>
XML解析
使用javax.xml.parsers 包中DocumenttBuilderFactory类调用其类方法newInstance()实例化一个DocumentBuilderFactory对象.
吐槽:前奏真心累赘
第二章 规范的XML文件
说明不说了。
XML文件中标记分为非空标记和空标记两种。(标记中不要随便加空格,后果很严重)
空标记<空标记名称 属性列表/> 或<空标记名称 />
非空标记<... >... </... >
特殊字符
XML有5种字符属于特殊字符,要想在文本数据中使用特殊字符,需通过实体引用
< < > &rt; ' ' " " & &
CDATA段:声明 <![CDATA[...内容....]]> CDATA段中的内容不会被解析,可以直接使用特殊字符。注意:CDATA段中不可嵌套CDATA段
吐槽:特殊符号CDATA段能不能简化啊,JAVA“\” 多好啊。 转义符多好啊
标签属性
<标记名称 属性列表>..</标记名称> 属性简单说就是 “键值对”
如XML声明中的:<?xml version="1.0" encoding="UTF-8" ?> vsrsion encoding 都是属性,自定义标签中同样可以使用属性。
一个基本原则,不要因为属性的频繁使用破坏XML的数据结构。
注释
同HTML文件相同<!-- 这里随便写 -->
名称空间
有点小复杂(什么 同名空间,同名前缀,你妹啊能不能简单点),身为一个JAVA程序员应该不会牵扯这么深,以后用了再百度。
严格区分大小写!
标记的子孙关系
一层一层的嵌套 这种关系就出来了。
XML解析器
DOM解析器 在内存中构建每个节点
SAX解析器,不在内存中构建。