XML
一 XML的语法格式
1. XML文档声明
<?xml version="1.0" encoding="UTF-8"?>
2. 标记 ( 元素 / 标签 / 节点)
XML文档,由一个个的标记组成.
语法:
开始标记(开放标记): <标记名称>
结束标记(闭合标记): </标记名称>
例如 ,我们通过标记, 描述一个人名:
<name>张三</name>
3. 一个XML文档中, 必须有且且仅允许有一个根标记.
例子
<names>
<name>张三</name>
</names>
4. 标记可以嵌套, 但是不允许交叉.
例子
<names>
<name>张三</name>
<age>18</age>
</names>
5. 标记的层级称呼 (子标记, 父标记 , 兄弟标记, 后代标记 ,祖先标记)
例子:
<persons>
<person>
<name>李四</name>
<length>180cm</length>
</person>
<person>
<name>李四</name>
<length>200cm</length>
</person>
</persons>
name是person的子标记.也是person的后代标记
name是persons的后代标记.
name是length的兄弟标记
person是name的父标记. persons是name的祖先标记
6. 标记名称 允许重复
7. 标记除了开始和结束 , 还有属性.
案例:
<persons>
<person idcord = "123456789">
<name>李四</name>
<length>180cm</length>
</person>
<person idcord = "12345">
<name>李四</name>
<length>200cm</length>
</person>
</persons>
二 Java解析XML 掌握
1.解析步骤
1. 引入jar文件 dom4j.jar
2. 创建一个指向XML文件的输入流
FileInputStream fis = new FileInputStream("xml文件的地址");
3. 创建一个XML读取工具对象
SAXReader sr = new SAXReader();
4. 使用读取工具对象, 读取XML文档的输入流 , 并得到文档对象
Document doc = sr.read(fis);
5. 通过文档对象, 获取XML文档中的根元素对象
Element root = doc.getRootElement();
2.文档对象 Document
指的是加载到内存的 整个XML文档.
1. 通过文档对象, 获取XML文档中的根元素对象
Element root = doc.getRootElement();
2. 添加根节点
Element root = doc.addElement("根节点名称");
3.元素对象 Element
指的是XML文档中的单个节点.
1. 获取节点名称 String getName();
2. 获取节点内容 String getText();
3. 设置节点内容 String setText();
4. 根据子节点的名称 , 获取匹配名称的第一个子节点对象. Element element(String 子节点名称);
5. 获取所有的子节点对象 List<Element> elements();
6. 获取节点的属性值 String attributeValue(String 属性名称);
7. 获取子节点的内容 String elementText(String 子节点名称);
8. 添加子节点 Element addElement(String 子节点名称);
9. 添加属性void addAttribute(String 属性名,String 属性值);
JSON
json 是一种轻量级的数据交换格式
将Java中的对象 快速的转换为 JSON格式的字符串. 将JSON格式的字符串, 转换为Java的对象.
GSON
将对象转化为json字符串
转换JSON字符串的步骤:
1. 引入JAR包
2. 2. 在需要转换JSON字符串的位置编写如下代码即可:
String json = new Gson().toJSON(要转换的对象);
案例:
Book b = BookDao.find();
String json = new Gson().toJson(b);
System.out.println(json);
将JSON字符串转换为对象
1. 引入JAR包
2. 2. 在需要转换Java对象的位置, 编写如下代码:
对象 = new Gson().fromJson(JSON字符串,对象类型.class);
案例:
String json = "{\"id\":1,\"name\":\"金苹果\",\"author\":\"张三 \",\"info\":\"嘿嘿嘿嘿嘿嘿\",\"price\":198.0}";
Book book = new Gson().fromJson(json, Book.class);
System.out.println(book);