`
NeverSky
  • 浏览: 2710 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring解析配置文件模拟——jdom解析xml文件

阅读更多

1.将要解析的xml文件:

 

<?xml version="1.0" encoding="UTF-8"?>
<HD>
  <disk name="A">
    <capacity>100G</capacity>
    <directories>250</directories>
    <files>1500</files>
  </disk>

  <disk name="B">
    <capacity>200G</capacity>
    <directories>500</directories>
    <files>3000</files>
  </disk>
</HD> 

2.解析xml的Java代码:

 

 

import java.io.IOException;
import java.util.*;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.*;
public class JdomTest {
	public static void main(String[] args) throws Exception, IOException{
		SAXBuilder sb = new SAXBuilder();
		Document doc = sb.build(JdomTest.class.getClassLoader().getResourceAsStream("test.xml"));
		Element root = doc.getRootElement();//获取根元素
		List list = root.getChildren("disk");//获取名为disk的所有元素
		
		for (int i = 0; i < list.size(); i++) {
			Element element = (Element) list.get(i);
			String name = element.getAttributeValue("name");
			String capacity = element.getChildText("capacity");
			String directories = element.getChildText("directories");
			String files = element.getChildText("files");
			
			System.out.println("磁盘信息:");
			System.out.println("分区盘符:" + name);
			System.out.println("分区容量:" + capacity);
			System.out.println("目录数:" + directories);
			System.out.println("文件数:" + files);
			System.out.println("------------------------------------");
		}
		
	}
}

①<HD>即为java代码中的getRootElement()所获取的根元素

 

②<disk>即为<HD>的子标签,通过getChildren()获取,该方法返回一个List,每个<disk></disk>最为一个element对象存在该list中。

capacity, directories, files通过getChildText()获得。

 

说明:xml代码来自网上,解析用例。

附件附上jdom-2.0.5.jar

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics