一:XML
XML
说明:
xml是一种扩展性的标记语言,关注数据本身。
作用:
1、数据存储、数据描述、数据交互
2、配置文件 (web项目的web.xml文件、spring框架的spring.xml等)
要求:
文档的后缀名是 xml
每个文档有且仅有一个根元素,所谓根元素就是包含了其他所有元素的元素。
XML 目前只有一个版本,即 1.0.XML 是自描述数据,使用现有的国际标准。
语法规范:
1) 必须有 xml 文档声明
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<? 表示文档的开始
xml 表示当前是xml文档
?> 表示文档的结束
version 表示xml文档的版本,目前只有1.0
encoding 表示文档的编码格式
standalone 表示文档是否独立存在
注:文档声明必须写在xml文件中的第一行,顶格写,不能出现空格和换行。
2) 必须有且仅有一个根元素
3) 严格区分大小写
4) 属性值用引号(双引号或单引号) :等号分开的名称-值对;在一个元素上,相同的属性只能出现一次
5) 标记成对;
6) 空标记关闭;
7) 元素正确嵌套。
元素命名规则:
1) 名称中可以包含字母、数字或者其他可见字符;
2) 名称不能以数字开头;
3) 不能以 XML/xml/Xml…开头;
4) 名称中不能含空格;
5) 名称中不能含冒号(注:冒号留给命名空间使用)
实体:
实体叫 ENTITY,实体的作用是避免重复输入。作用相当于宏或者变量。
1) 内置的 5 种实体
实体 符号
< <
> >
& &
" "
' '
2) 自定义实体
<!DOCTYPE 根元素[
<!ENTITY 实体名 "实体内容">
]>
2) 使用实体
&实体名;
文档类型声明:
文档类型定义——DOCTYPE,文档类型声明,紧跟 XML 声明之后,包含所有实体声明
构成:
1、元素
2、属性
3、实体
4、PCDATA
被解析的字符数据(被解析的字符数据不应当包含任何 &、< 或者 > 字符;需要使用 &、< 以及 > 的内置实体来分别替换它们。)
5、CDATA
用于把整段文本解释为纯字符数据而不是标记的情况。如包含大量的<、>、&、或者" 字符。
CDATA 节中的所有字符都会被当做元素字符数据的常量部分,而不是 XML 标记,可以输入除]]>外任意字符,不能嵌套。
格式:
<![CDATA[ ...... ]]>
二:DOM解析
DOM解析
① 建 立 DocumentBuilderFactory : DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
② 建立 DocumentBuilder: DocumentBuilder builder = factory.newDocumentBuilder();
③ 建立 Document : Document doc = builder.parse(“要解析的文件路径”);
④ 建立 NodeList : NodeList nl = doc.getElementsByTagName(“读取节点”);
⑤ 进行 XML 信息读取
三:Dom4J解析
Dom4J解析
1、得到要解析文件对象 file对象
2、得到解析器
3、通过解析器将file文件解析成Document对象
4、得到文档对象的根元素对象 Element对象
5、根元素对象的所有子节点,返回迭代器
6、遍历迭代器,得到元素名称和文本
四:
单元测试类
创建单元测试类
1、选择src,右键,选择Other
2、搜索"test",选择"JUnit Test Case"
3、设置包名和类名(和创建普通Java类一样)
注意点:
1、不能有父类
2、不能是静态方法
3、不能有参数
4、返回是void
5、要在方法上加注解 @Test
6、如果执行成功,返回绿色;如果执行失败,返回暗红色
如何运行:
1、点击方法名,右键选择Run As或Debug As,选择"JUnit Test"执行
2、点击类中任意空白,此时会执行所有单元测试方法
GSON的节点解析
1、得到解析器
2、通过解析器将字符串转换成JsonElement对象
3、根据文档结构将JsonElement对象转换成具体的对象(JsonObject对象或JsonArray对象)
4、得到对象中的节点对象
flag,基本数据类型的类型
将基本数据的对象转换成具体的数据类型
{
"flag": true,
"data": {
"userId":1
"uname":"张三",
"upwd":"123456"
}
}