前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >xml解析工具-jdom

xml解析工具-jdom

作者头像
云海谷天
发布2022-08-09 13:51:04
7250
发布2022-08-09 13:51:04
举报
文章被收录于专栏:技术一点点成长

前言:近期接触SSH框架的时候,经常得配置一下xml文件;今天闲来没事就挖挖xml解析的原理供大伙儿分享。本文主要通过一个简单的例子解析一个xml文件。明白其中缘由之后,大家想定义自己的xml也绝非难事~

  JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。其解析步骤其实很简单,可以将一个xml文件类比一棵树。首先从根节点开始解析,之后遍历左右孩子结点,孩子结点再递归解析孩子结点。。。(注意,遍历的时候应该区别于深度优先遍历,准确的理解应该是层次遍历!)

·树级解析

·Java代码

2个文件(test.xml和Sample1.java),另外请自己上网下载jdom.jar包。

Sample1.java

代码语言:javascript
复制
 1 import java.util.*;
 2 import org.jdom.*;
 3 import org.jdom.input.SAXBuilder;
 4 
 5 
 6 public class Sample1 {
 7     public static void main(String[] args) throws Exception {
 8         SAXBuilder sb = new SAXBuilder();
 9 
10         Document doc = sb.build(Sample1.class.getClassLoader()
11                 .getResourceAsStream("test.xml")); // 构造文档对象
12         Element root = doc.getRootElement(); // 获取根元素HD
13         List list = root.getChildren("disk");// 取名字为disk的所有元素
14         for (int i = 0; i < list.size(); i++) {
15             Element element = (Element) list.get(i);
16 
17              String capacity=element.getChildText("capacity");//取disk子元素capacity的内容
18              String directories=element.getChildText("directories");
19              String files=element.getChildText("files"); 
20              
21              System.out.println("磁盘信息:");
22              System.out.println("分区容量:"+capacity);
23              System.out.println("目录数:"+directories);
24              System.out.println("文件数:"+files);
25              System.out.println("-----------------------------------");}
26     }
27 }

test.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<HD>
  <disk name="C">
    <capacity>8G</capacity>
    <directories>200</directories>
    <files>1580</files>
  </disk>

  <disk name="D">
    <capacity>10G</capacity>
    <directories>500</directories>
    <files>3000</files>
  </disk>
</HD> 

·解析结果

代码语言:javascript
复制
磁盘信息:
分区容量:8G
目录数:200
文件数:1580
-----------------------------------
磁盘信息:
分区容量:10G
目录数:500
文件数:3000
-----------------------------------

结语:据说dom4j解析工具包更好用,有机会得试试~不过其原理想必都差不多!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ·树级解析
  • ·解析结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档