XMl与JSON
XML
简介
可扩展标记语言(extensible Markup Language)
特性
1、xml具有平台无关性,是一门独立的标记语言
2、xml具有自我描述性
3、xml可以做什么?
-
网络数据传输
-
数据存储
-
配置文件
4、什么是XML文件
-
保存xml数据的一种方式,
-
当然其也可以以其他方式存在(如在内存中构建xml数据)
-
但xml语主并不仅仅是xml文件
5、xml语法格式
1)、xml文档声明
<?xml version="1.0" encoding="UTF-8"?>
2)、xml文档由标记组成,标记也称为:元素、标签、节点
语法:
开始标记(开放标记)<标记名称>
结束标记(闭合标记)</标记名称>
标记命名规则:
名称可以包含字母、数字以及其它字符
名称不能以数学、标点符号、xml、XML、Xml开始
名称不能包含空格和冒号(:)
名称区分大小写
说明:
开始与结束标记之间,为标记的内容。
示例:
<name>mary</name>
3)、一个xml文档中,必须有且仅有一个根标记
示例:
<names> <name>张三</name> <name>李四</name> </names>
4)、标识可以嵌套但不允许交叉
示例:
<names> <name>张三 <age></name> <age>李四</age> </names>
5)、标记层级称呼(父标记、子标记、祖先标记、后代标记)
按层级,上级是下级的父或祖先,下级是上级的子或后代
6)、标记名称允许重复
7)、标记还有属性,属性写在开始标记里,与标记名称以空格分隔,
可有多个属性,属性之间以空格分隔,但同一标记中属性不能重名,
可以包含0-n个必属性,每一下属性都是一个键值对,键与值之间用等号连接,
属性值由引号引住。
8)、注释格式及使用注意事项
注意事项:
注释不能写在到文档声明前
注释不能嵌套
格式:
注释开始:<!--
注释结束:-->
快捷键:
eclipse中编辑Java文件时,注释和取消注释的快捷键都是: "CTRL + / "
编辑xml文件时,注释:CTRL + SHIFT + / 取消注释**:CTRL + SHIFT + \
9)、CDATA(了解)
CDATA是不应该由xml解析器解析的文本数据,如<(新元素的开始),&(字符实体的开始)
当做为普通字符写在xml中,都是非法的,为了避免这种错误,可以将脚本代码定义为CDATA中,
其中所有内容都会被解析器忽略,格式为:CDATA部分由"<![CDATA["开始,由"]]>",结束。
10)、示例
<?xml version="1.0" encoding="UTF-8"?> <books> <book> <name id="1001">金苹果</name> <info>描述了种金苹果的辛苦历程</info> </book> <book> <name id="1002">银苹果</name> <info>描述了种银苹果的辛苦历程</info> </book> </books>
6、DOM4J解析XML(掌握)
1)、步骤
-
引入jar文件dom4j.jar
-
创建一个指向xml文件的输入流
FileInputStream fis = new FileInputStram("xml文件地址");
-
创建一个xml读取工具对象
SAXReader sr = new SAXReader();
-
使用读取工具对象,读取xml文档的输入流,并得到文档对象
Document doc = sr.read(fis);
-
使用文档对象,读取xml文档中根元素对象
Element root = doc.getRootElement();
-
若xml文件中出现拼写错误 ,则会报如下