XML介绍
可扩展标记语言(extensible Markup Language)
特性:
1. xml具有平台无惯性,是一门独立的标记语言
2. xml具有自我描述性
问什么学习XML
1.网络数据传输
2.数据存储
3.配置文件
XML文件
.XML文件是保存XML数据的一种方式
XML数据也可以以其他方式存在(如在内存中构建XML数据)
不要将XML语言狭隘的理解成XML文件
XML语法格式
命名规则
1. 名称可以含字母.数字以及其他字符
2. 名称不能以数字或者标点符号开始
3. 名称不能以字符"xml",“XML”,"Xml"开始
4. 名称不能包含空格,不能包含冒号
5. 名称区分大小写
标记内容: 开始标记与结束标记之间是标记的内容
淳郝
3. 一个XML文档中必须有且只能有一个根标记,标记之间可以嵌套但不能交叉,标记名称允许重复
4. 标记除了开始与结束,还可以具有属性,在标记开始时描述,由属性名和属性值组成
格式:
在开始标记中描述属性
可以包含0-n个属性,每一个属性是一对键值对
属性名不允许重复,键与值之间使用等号连接,属性之间使用空格隔开
属性值必须被引号引住.
<persons>
<person id="001" city="徐州">
<name>淳郝</name>
<sex>男</sex>
<job>工程师</job>
</person>
<person id="002" city="徐州">
<name>花哥</name>
<sex>女</sex>
<job>人事</job>
</person>
</persons>
5.注释
注释不能写在文档声明前,注释不能嵌套注释
格式 注释开始: <!-- 注释结束-->
DOME4J解析XML步骤
-
引入一个jar文件 dom4j.jar
-
创建一个指向XML文件的输入流
FileInputStream fis = new FileInputStream(“xml文件的地址”);
-
创建一个XML读取工具对象
SAXReader sr = new SAXReader();
-
使用读取工具对象,读取XML文档的输入流,并得到文档对象
Documen doc = sr.read(“fis”);
5.通过文档对象,获取XML文档中的根元素对象
Element root = doc.getRootElement();
文档对象Docement
指加载到内存的整个XML文档
常用方法:
-
通过文档对象,获取XML文档中的根元素对象
Element root = doc.getRootElement();
-
添加根节点
Element root = doc.addElement(“根节点名称”)
解析本地文件案例
public static void main(String[] args) throws FileNotFoundException, DocumentException {
//1 创建文件的输入流
FileInputStream fis = new FileInputStream("D://hh.xml");
//2 创建XML读取工具对象
SAXReader sr = new SAXReader();
//3 通过读取工具,读取XML稳当的输入流,并得到文档对象
Document doc = sr.read(fis);
//4 通过文档对象,获取文档的根节点
Element root = doc.getRootElement();
//通过根节点获取所有子节点
List<Element> es = root.elements();
//6.循环遍历内容
for (Element e : es) {
String id = e.attributeValue("id");
String name = e.element("name").getText();
String info = e.element("info").getText();
System.out.println("id:"+id+",name:"+",info:"+info);
}
}
JSON
JavaScript Object Notation JS对象简朴,是一种轻量级的数据交换格式
对象格式
一本书
书名
简介
java
class Book{
private String name;
private String info;
get/set/tostring...
}
Book a = new Book();
a.setname("哈");
a.setinfo("哈哈哈");
js:
var a = new Object();
b.name = "哈";
b.info = "哈哈哈";
XML:
<book>
<name>哈</name>
<info>哈哈哈</info
>
</book>
JSON:
{
"name":"哈",
"info":"哈哈哈"
}
在JSON格式中可以与对象互相嵌套
[元素1,元素2…]
JSON的作用
将java中的对象快速的转换为JSON格式的字符串
将JSON格式的字符串,转换为Java的对象
示例
对象转换为JSON字符串
public static void main(String[] args) {
Book a = new Book();
a.setName("绝世武功");
a.setInfo("骗人的");
String json = new Gson().toJson(a);
System.out.println(json);
}
JSON字符串转换为对象
public static void main(String[] args) {
Gson json = new Gson();
Book a = json.fromJson("{\"name\":\"绝世武功\",\"info\":\"骗人的\"}",Book.class);
System.out.println(a);
}
220

被折叠的 条评论
为什么被折叠?



