dom4j和fastjson基本使用
发布日期:2022-02-25 01:17:44
浏览次数:41
分类:技术文章
本文共 5003 字,大约阅读时间需要 16 分钟。
pom.xml
org.projectlombok lombok 1.16.18 dom4j dom4j 1.6.1 junit junit 4.12 com.alibaba fastjson 1.2.47 log4j log4j 1.2.17
Dom4jUtil
public class Dom4jUtil { /** * 根据XML文件路径获取Document对象 * @param pathUrl XML文件路径 * @return document */ public static Document getDocument(String pathUrl){ //创建SAXReader对象 SAXReader reader = new SAXReader(); Document document = null; try { //读取XML文件并返回document对象 document = reader.read(pathUrl); } catch (DocumentException e) { e.printStackTrace(); } return document; } /** * 展示文档内容 * @param document 文档对象 */ public static void showElements(Document document){ //获取文档的根节点 Element rootElement = document.getRootElement(); //获取根节点下的子节点(迭代器的方式) Iteratorit = rootElement.elementIterator(); //迭代器迭代 while (it.hasNext()){ //获取子节点 Element element = it.next(); //element.getName()获得当前元素的标签名 String name = element.getName(); System.out.println("当前元素的标签名:"+name); //获取子节点的属性上的值并打印 //String id = element.attribute("id").getValue(); String id = element.attributeValue("id"); System.out.println(id); //获取根节点下的子节点(集合的方式) /* * element.elements("标签名") * 获得element元素下的所有标签名与方法参数一样的元素 * */ List childElement = element.elements(); for (Element e : childElement) { //只有最底层的元素getText()才会有值 //获得当前元素中包含的值 //例如 aaa aaa就是我们获得的值 System.out.println(e.getText()); } System.out.println("----------------------------"); } } /** * 根据文档对象创建XML文件 * @param document 文档对象 * @throws IOException */ public static void createXMLByDocument(Document document) throws IOException { //创建文件 String filePath = "d:\\studentInfo.xml"; File file = new File(filePath); if (!file.isFile()){ file.createNewFile(); } //创建输出流对象 FileOutputStream fos = new FileOutputStream(file); //获得格式化对象 OutputFormat outputFormat = OutputFormat.createPrettyPrint(); //参数: 输出流,格式化对象 XMLWriter writer = new XMLWriter(fos,outputFormat); //写出文件 writer.write(document); /* * 多个流关闭流程 * 向上依次关闭 * */ writer.close(); fos.close(); }}
JsonConvert
public class JsonConvert { /** * 将json字符串转换为对象 * @param jsonStr json字符串 * @param t * @param转化成的对象类型 * @return 返回值类型 */ public static T jsonToObject(String jsonStr, Class t) { return JSON.parseObject(jsonStr, t); } /** * 将对象转换为字符串 * * @param o * @return */ public static String objectToString(Object o) { return JSON.toJSONString(o); }}
Dom4jTest.class
public class Dom4jTest { @Test public void getDocument(){ String pathUrl = "src\\main\\resources\\doc\\student.xml"; Document document = Dom4jUtil.getDocument(pathUrl); System.out.println(document); Dom4jUtil.showElements(document); } @Test public void createXMLByDocument() throws IOException { //创建新的文档对象 Document document = DocumentHelper.createDocument(); //添加根节点(元素) /* * 注意: 不是最底层元素不要设置 .addText() * */ Element rootElement = document.addElement("class"); rootElement.addElement("student").addAttribute("id","001") .addAttribute("classNo","Java1902").addText("James Strachan"); rootElement.addElement("student").addAttribute("id","002") .addAttribute("classNo","Java1902").addText("James Strachan"); Dom4jUtil.createXMLByDocument(document); }}
FastJsonTest.class
public class FastJsonTest { @Test public void jsonToObject(){ //拼接json字符串 String jsonStr = "{\"userId\":" + "\"1\"," + "\"userName\":" + "\"坤坤\"," + "\"age\":" + "\"22\"}"; Object o = JsonConvert.jsonToObject(jsonStr, User.class); System.out.println(o); } @Test public void objectToJson(){ User user = new User(); user.setUserId(1); user.setUsername("阳阳"); user.setAge(22); String s = JsonConvert.objectToString(user); System.out.println(s); }}
转载地址:https://blog.csdn.net/qq_37746647/article/details/100123806 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月06日 10时05分43秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
xLua(三)——在C#中访问Lua代码
2019-04-27
xLua(四)——C#访问Lua的基本类型
2019-04-27
xLua(五)——C#访问Lua的table
2019-04-27
xLua(六)——C#访问Lua的function
2019-04-27
基础知识——常用单位介绍
2019-04-27
xLua(七)——Lua访问C#(一)
2019-04-27
xLua(八)——Lua访问C#(二)
2019-04-27
Unity中实现解析Json文件
2019-04-27
Unity自带Json解析库——JsonUtility
2019-04-27
Unity中使用ViedoPlayer操作视频文件
2019-04-27
C#中的的输入与输出
2019-04-27
C#中@符号的作用
2019-04-27
C#中$符号的作用
2019-04-27
Mac装windows系统后如何更换触控板设置
2019-04-27
Windows系统下如何设置软件的快捷键
2019-04-27
语言中的溢出
2019-04-27
Unity中实现获取一段时间内移动设备声音的最大音量
2019-04-27
springboot的初始化启动过程
2019-04-27
关于spring bean 生命周期代码详解-产生到消亡
2019-04-27