欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

XML与Json文件解析(基于java)

程序员文章站 2022-07-14 17:00:07
...
  • 1、XML
  • 特性
    + 1、xml具有平台无关性,是一门独立标记语言
    + 2、xml具有自我描述
  • .xml文件是保存xml数据的一种方式
    (注意:不要讲xml语言理解成xml文件 )
  • 语法
    开始标记为(开放标记):<标记名称>
    结束标记为(闭合标记):</标记名称>

java解析xml方法:

1、SAX解析 SAX解析器,逐行解析XML文件
2、DOM解析 需要加载整个文档和内存建立文档数模型
3、JDOM解析 成文Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快
4、DOM4J解析

1、SAX解析 图解
XML与Json文件解析(基于java)

优点:
(1)分析能够立即开始,而不是等待所有的数据被处理
(2)逐行加载,节省内存,有助于解析大内存文档
缺点:
(1)无法定位文档层次
(2)无法得知事件发生时元素的层次,只能自己维护节点的父/子关系
(3)只读解析,无法修改xml文档内容

DOM解析 图解
XML与Json文件解析(基于java)

优点:
(1)文档在内存中加载,允许对数据和结构做出更改
(2)访问是双向的,可以在任何时候在树中双向解析数据
缺点:
文档全部加载在内存中,消耗资源大

JDOM解析

优点:
(1)使用具体类而不是接口,简化了DOM的API
(2)大量使用了java集合
缺点:
(1)没有较好的灵活性
(2)性能不是那么优异

DOM4J解析

他是JDOM的一种智能分支,他合并了许多超出基本XML文档表示的功能,包括集成的Xpath支持 、XML 、Schema支持以及用于大文档或流化文档的基于事件处理,它还提供了构建文档表示的选项

步骤

  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();

JSON
是一种轻量级的数据交换格式
对象格式

class Book{
	private String name;
	private String info;
	public String getName() {
            return name;
    }
    public void setName(String name) {
            this.name = name;
    }
    public String getInfo() {
            return info;
    }
    public void setInfo(String Info) {
            this.info = Info;
    }
    js: var b = new Object(); 
    b.name = "金苹果"; 
    b.info = "种苹果"; 
    XML:<book>
    		<name>金苹果</name> 
    		<info>种苹果</info> 
    	</book> 
	JSON:{ 
			"name":"金苹果", 
			"info":"种苹果" 
		}
}

Java与JSON
将Java中的对象,快速的转换为JSON格式的字符串

转换JSON字符串的步骤:
	1、引入JAR
	2、在需要转换JSON字符串的位置编写如下代码:
		String json = new Gson().toJSON(要转换的对象);
	案例
		Book b = Bookdao.find();
		String json = new Gson().toJson(b);
		System.out.print(json); 

将JSON格式的字符串,转换为Java的对象。

	1、引入JAR包
	2、在需要转换Java对象的位置,编写如下:
		对象 = new GSon().fromJson(JSON字符串,对象类型.class);