当前位置: 代码迷 >> 综合 >> [Java] JDOM 读取 xml 文件 示例程序初步
  详细解决方案

[Java] JDOM 读取 xml 文件 示例程序初步

热度:95   发布时间:2023-12-14 09:03:19.0

JDOM 读取 xml 示例程序

sample.xml

<?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>
Sample2
import java.util.*;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
import org.jdom.xpath.XPath;public class Sample2 {public static void main(String[] args) throws Exception {SAXBuilder sb = new SAXBuilder();Document doc = sb.build(Sample2.class.getClassLoader().getResourceAsStream("sample.xml"));Element root = doc.getRootElement();System.out.println(root);System.out.println("haha");List list = XPath.selectNodes(root, "/HD/disk");System.out.println(list.size());for (int i = 0; i > list.size(); i++) {Element disk_element = (Element) list.get(i);String name = disk_element.getAttributeValue("name");String capacity = ((Text) XPath.selectSingleNode(disk_element,"//disk[@name='" + name + "']/capacity/text()")).getTextNormalize();String directories = ((Text) XPath.selectSingleNode(disk_element,"//disk[@name='" + name + "']/directories/text()")).getTextNormalize();String files = ((Text) XPath.selectSingleNode(disk_element,"//disk[@name='" + name + "']/files/text()")).getTextNormalize();System.out.println("磁盘信息:");System.out.println("分区盘符:" + name);System.out.println("分区容量:" + capacity);System.out.println("目录数:" + directories);System.out.println("文件数:" + files);System.out.println("-----------------------------------");}}
}




  相关解决方案