xml是可扩展的标记性语言
主要作用:
1.用来保存数据,这些数据具有自我描述性
2.可以作为项目或模块的配置文件
3.可以作为网络传输数据的格式
1.xml语法
1.文档声明
2.xml注释
与HTML注释一样:<!--注释-->
3.元素(标签)
xml元素指的是从开始标签到结束标签的部分。
元素可包含其他元素、文本或者两者混合物。元素也可以用于属性
命名规则
1.名称可含字母、数字及其他符号
2.名称不能以数字或标点符号开头
3.名称不能以字符“xml”(XML,Xml)开始(规范)
4.名称不能包含空格
4.xml属性
与HTML标签属性非常类似,属性可以提供元素的额外信息
在标签上可以书写属性:
一个标签上可以书写多个属性,每个属性必须使用引号引起来,规则和标签一致
5.其他语法
1.所有xml元素都须有关闭标签(闭合)
2.xml标签对大小写敏感
3.xml标签必须正确嵌套
4.xml文档必须有根元素
根元素就是没有父标签的顶级元素,且是唯一一个,如上图的<books>就是根元素
5.xml中的特殊字符
<表示<
>表示>
6.文本区域(CDATA区)
CDATA语法可以告诉xml解析器其文本内容只是纯文本,不需要解析
CDATA格式:
<![CDATA[这里输入的字符会原样显示,不会解析xml]]>
2.xml解析技术
不管是html还是xml文件,他们都是标记型文档,都可以使用w3c组织制定的dom技术来解析
早期JDK为我们提供了两种xml解析技术 dom和sax(已过时,了解)
dom解析技术是w3c组织制定的,所有的编程语言都对这个解析技术使用了自己语言的特点进行实现
sun公司在JDK5版本对dom解析技术进行升级:SAX(simple api for xml),它是以类似事件机制通过回调告诉用户当前正在解析的内容,是一行一行读取xml文件进行解析的,不会创建大量的dom对象,所以在内存使用和性能上,都优于dom解析
第三方解析:
jdom在dom基础上进行了封装
dom4j又对jdom进行了封装
pull主要用于Android手机开发,跟sax非常类似
3.dom4j解析技术
由于dom4j不是sun公司的技术,需要到dom4j官网下载dom4j的jar包
1.Dom4j类库的使用
使用dom4j读取xml文件得到document对象