电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java解析xml文件和json轉換的方法(DOM4j解析)

瀏覽:4日期:2023-02-13 14:05:21

Java解析xml的方法有四種:

DOM解析 SAX解析 JDOM解析 DOM4J解析

本次主要介紹使用DOM4j進行解析:這里我主要使用兩種方式去解析:xml文件內容

<?xml version='1.0' encoding='utf-8'?><books><book id='1'><name>金蘋果</name><info>鋤禾日當午</info></book><book id='2'><name>銀蘋果</name><info>蘋果很幸苦</info></book></books>

節點操作解析

public class Demo1 { public static void main(String[] args) throws IOException, DocumentException { // 獲取輸入流 FileInputStream fis = new FileInputStream('javaSE/src/com/practise/xml_json/book.xml'); // 創建xml的讀取對象 SAXReader reader = new SAXReader(); // 讀取xml文件 Document document = reader.read(fis); // 獲取根節點對象 Element root = document.getRootElement(); // 獲取根節點的名字 List<Element> books = root.elements(); // 遍歷獲取第二個節點 for (int i = 0; i < books.size(); i++) { Element book = books.get(i); System.out.println(book.attributeValue('id')); System.out.println(book.elementTextTrim('name')); System.out.println(book.elementTextTrim('info')); /* 使用循環一直獲取xml的內容,個人認為適合操作不知道標簽的情況下操作, 以免造成內存的浪費。 */ //List<Element> list = book.elements(); //for (int j = 0; j < list.size(); j++) { // System.out.println(list.get(j).getTextTrim()); //} } fis.close(); }}

運行結果:

Java解析xml文件和json轉換的方法(DOM4j解析)

6. 使用XPATH進行解析

public class XpathDemo { /*/ : 表示根節點// : 從發起查找的節點開始查找后代節點. : 查找當前節點.. : 查找父節點@ : 選擇屬性 * 使用方式:[@屬性名=’值’] */ public static void main(String[] args) throws FileNotFoundException, DocumentException {FileInputStream fis = new FileInputStream('javaSE/src/com/practise/xml_json/book.xml');SAXReader read = new SAXReader();Document document = read.read(fis);// 通過文檔對象+XPath查找所有的name節點List<Node> names = document.selectNodes('//name');for (Node name : names) { System.out.println(name.getName() + ':' + name.getText());}// 獲取指定id的name節點Node node = document.selectSingleNode('//book[@id=’1’]//name');System.out.println(node.getName() + ':' + node.getText()); }}

Java轉換json數據,在這里我推薦兩個包,就是fastjson和gjsonfastjson作為alibaba的國內開源json包,也是很不錯的,但是在1.2.69的版本上好像有bug,后面應該已經改善了。gjson的作為谷歌的國外的開源ison包,也有其優勢。我主要就是說一說這兩個開源包的使用

fastjson的使用

fastjson里面封裝了一個抽象的JSON類,里面有著許多靜態方法,所以我們不需要實例化對象,直接通過類名.方法名就可以調用了。

public class FastJsonDemo { public static void main(String[] args) {// 將對象轉換為json數據System.out.println(JSON.toJSON(new Book(1001, '水滸傳', '武松打虎')));// 將json對象轉換為Java對象,注意不要把雙引號改為單引號,這里的雙引號是通過了轉義的得到的Book book = JSON.parseObject('{'id':1001,'name':'水滸傳','info':'武松打虎'}', Book.class);System.out.println(book.getName()); }}

運行結果:

Java解析xml文件和json轉換的方法(DOM4j解析)

-gjson的使用gson使用起來相對于fastjson來說有點復雜.

public class JsonDemo1 { public static void main(String[] args) {// 創建gson對象Gson gson = new Gson();// 轉換Book book = new Book(1001, '水滸傳', '武松打虎');String s = gson.toJson(book);System.out.println(s);System.out.println(gson.fromJson(s, Book.class)); }}

運行結果:

Java解析xml文件和json轉換的方法(DOM4j解析)

到此這篇關于Java解析xml文件和json轉換的文章就介紹到這了,更多相關java xml文件json轉換內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 事迹材料_个人事迹名人励志故事 学生作文网_中小学生作文大全与写作指导 | 嘉兴泰东园林景观工程有限公司_花箱护栏 | 衢州装饰公司|装潢公司|办公楼装修|排屋装修|别墅装修-衢州佳盛装饰 | 微型气象仪_气象传感器_防爆气象传感器-天合传感器大全 | 路面机械厂家| 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | 【连江县榕彩涂料有限公司】官方网站 | 合肥注册公司|合肥代办营业执照、2024注册公司流程 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 西子馋火锅鸡加盟-太原市龙城酉鼎餐饮管理有限公司 | MOOG伺服阀维修,ATOS比例流量阀维修,伺服阀维修-上海纽顿液压设备有限公司 | 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | 石家庄装修设计_室内家装设计_别墅装饰装修公司-石家庄金舍装饰官网 | 防水套管-柔性防水套管-刚性防水套管-上海执品管件有限公司 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 防堵吹扫装置-防堵风压测量装置-电动操作显示器-兴洲仪器 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | 自清洗过滤器,浅层砂过滤器,叠片过滤器厂家-新乡市宇清净化 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 滚筒烘干机_转筒烘干机_滚筒干燥机_转筒干燥机_回转烘干机_回转干燥机-设备生产厂家 | 西门子气候补偿器,锅炉气候补偿器-陕西沃信机电工程有限公司 | 伸缩器_伸缩接头_传力接头-巩义市润达管道设备制造有限公司 | 佛山商标注册_商标注册代理|专利注册申请_商标注册公司_鸿邦知识产权 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 河南彩印编织袋,郑州饲料编织袋定制,肥料编织袋加工厂-盛军塑业 河南凯邦机械制造有限公司 | 隧道风机_DWEX边墙风机_SDS射流风机-绍兴市上虞科瑞风机有限公司 | GEDORE扭力螺丝刀-GORDON防静电刷-CHEMTRONICS吸锡线-上海卓君电子有限公司 | 样品瓶(色谱样品瓶)百科-浙江哈迈科技有限公司 |