xml文件xml的数据的一种方式,xml也可以以其他的形式存在数据
<?xml version="1.0" encoding="UTF-8"?>注释不能写在文档文档声明前注释不能嵌套注释格式 :注释开始 :
标记的层级称呼 (子标记, 父标记 , 兄弟标记, 后代标记 ,祖先标记)
在开始标记中 , 描述属性 .可以包含 0-n 个属性 , 每一个属性是一个键值对 !属性名不允许重复 , 键与值之间使用等号连接 , 多个属性之间使用空格分割 .属性值 必须被引号引住.
xml的格式:允许嵌套 允许重复名称 <开始语句> 无嵌套模式 <name>“王二”<name> <age>"18"<age> 有嵌套 <book month="15"> <name>"果子"<name> <info>"介绍"<info> </book> <name>“王二”<name> <age>"18"<age> </结束语句>
DOM4J解析XML
步骤 :1. 引入 jar 文件 dom4j.jar2. 创建一个指向 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();解析网络XML1.生成网址对象——>打开网址对象——>输入流拿到XML网络对象
URL url =new URL("网址");URLConnection conn = url.openConnection();InputStream is = conn.getInputStream();2.创建XML对象SAXReader sr = new SAXReader();//3. 通过读取对象 读取 XML 数据,并返回文档对象Document doc = sr.read(is);//4. 获取根节点Element root = doc.getRootElement();//5. 解析内容查找方式: 路径表达式 :1. / : 从根节点开始查找2. // : 从发起查找的节点位置 查找后代节点 ***3. . : 查找当前节点4. .. : 查找父节点5. @ : 选择属性 . *属性使用方式 :[@ 属性名 =' 值 '][@ 属性名 >' 值 '][@ 属性名 <' 值 '][@ 属性名 !=' 值 ']
Java 生成 XML 熟悉XStream 的使用 了解步骤 :1. 通过文档帮助器 (DocumentHelper) , 创建空的文档对象Document doc = DocumentHelper.createDocument();2. 通过文档对象 , 向其中添加根节点Element root = doc.addElement(" 根节点名称 ");3. 通过根节点对象 root , 丰富我们的子节点Element e = root.addElement(" 元素名称 ");4. 创建一个文件输出流 , 用于存储 XML 文件FileOutputStream fos = new FileOutputStream(" 要存储的位置 ");5. 将文件输出流 , 转换为 XML 文档输出流XMLWriter xw = new XMLWriter(fos);6. 写出文档xw.write(doc);7. 释放资源xw.close();
快速的将 Java 中的对象 , 转换为 XML 字符串 .对象格式1. 创建 XStream 对象XStream x = new XStream();[2]. 修改类生成的节点名称 ( 默认节点名称为 包名 . 类名 )x.alias(" 节点名称 ", 类名 .class);3. 传入对象 , 生成 XML 字符串String xml 字符串 = x.toXML( 对象 );
json
可以导入Gson或FastJson的jar包来解析
可以导入Gson或FastJson的jar包来解析
首先Gson的格式 对象转json
1.导入jar包——> 创建对象——>创建Gson对象——>调用放法要转换的对象参数
Book book = new book();
Gson xx = new Gson();
xx.toJson(bokk);
Json转对象
1.导入jar包——> 创建对象——>创建Gson对象——>调用放法转换
Strin json ="json的字符串"
Gson xx = new Gson();
Book book =new book
book = xx.fromJson(json,Book.class)
FastJson 的格式(FastJson里是静态的方法所以不用创建对象)
Json字符串转对象或者数组
数组
List<类型> list=JSON.parseArray(JSON字符串,类型.class);
对象
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
对象或数组转json
Book b = new book("xxx“,“sss”);
Strin json = Json.toJSONString(b);