[Java] JDOM 读取 xml 文件 示例程序初步
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("-----------------------------------"); } } }