Jdom读取XML文件

  学习Spring时,我们经常看到很多xml配置文件,Spring通过在配置文件中的配置,使用IOC(控制反转),从而实现代码的灵活性,本篇我就为大家介绍一种解析xml方式--Jdom

  首先我们到Jdom网站下载相应的JAR包文件,导入我们的java工程中,然后我们编写一份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>

  接下来我们就可以通过使用Jdom来读取xml中的配置信息了,我们的java类如下:

public class Jdom {

    public static void main(String[] args) {
        try {
            readXml();
        } catch (JDOMException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public static void readXml() throws JDOMException, IOException{
        SAXBuilder saxBuilder = new SAXBuilder();
        Document doc = saxBuilder.build(Jdom.class.getClassLoader().getResourceAsStream("test.xml"));
        Element root = doc.getRootElement();//获得xml的根元素
        List<Element> list = root.getChildren("disk");//获得根元素下的子孩子
        for(Element element : list){
            String name = element.getAttributeValue("name");//取disk元素的name值
            String capacity = element.getChildText("capacity");//取disk子元素capacity的内容
            String directories = element.getChildText("directories");//取disk子元素directories的内容
            String files = element.getChildText("files");//取disk子元素files的内容
            System.out.println("磁盘信息:");
            System.out.println("分区盘符:"+name);
               System.out.println("分区容量:"+capacity);
               System.out.println("目录数:"+directories);
               System.out.println("文件数:"+files);
               System.out.println("-----------------------------------");
        }
    }

}

  关于XML的读取方式一定有很多,这里仅仅是为了让大家有所了解,如果您有更好的方式或方法,还望不舍赐教。谢谢

时间: 2024-10-29 19:06:19

Jdom读取XML文件的相关文章

JSP简单练习-用JDOM读取xml文件

<%@ page contentType="text/html; charset=gb2312" language="java" %> <%@ page import="java.io.*,org.jdom.*,org.jdom.input.*,org.jdom.output.*,java.util.List,java.util.Iterator" %> <html> <head> <titl

jdom学习读取XML文件

用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类.Element类等的方法读取所需的内容.IBM : developerWorks 中国站上有一个很好的例子: <?xml version="1.0" encoding="UTF-8"?> <HD> <disk name="C"> <capacity&g

jdom学习:读取xml文件

用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类.Element类等的方法读取所需的内容.IBM : developerWorks 中国站上有一个很好的例子: <?xml version="1.0" encoding="UTF-8"?> < HD>    <disk name="C">      <c

java读取XML文件的四种方式

java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT> <VALUE> <NO>A1234</NO> <ADDR>河南省郑州市</ADDR> </VALUE> <VALUE> <NO>B1234</NO> <ADDR>河南省郑州市二七区&

java读取xml文件的三种方法

xml既简单又标准,值得拥有和学习,好多地方都用的到.假设有这么一个book.xml: <?xml version="1.0" encoding="ISO-8859-1"?> <!-- Copyright w3school.com.cn --> <!-- W3School.com.cn bookstore example --> -<bookstore> -<book category="childre

C#读取XML文件的基类实现

刚到新单位,学习他们的源代码,代码里读写系统配置文件的XML代码比较老套,直接写在一个系统配置类里,没有进行类的拆分,造成类很庞大,同时,操作XML的读写操作都是使用SetAttribute和node.Attribute(name)方法,因此,想到结合之前所做的XML操作,完成了一个能够读取XML文件的基类,便于以后的使用. PS:即使再老套的代码,目前也不敢进行优化,一是水平不行,二是不敢. 使用静态扩展类,扩展了几个经常使用的类型,能够方便数据的读写. 操作XML的类,可以直接继承BaseL

Excel开发学习笔记:读取xml文件及csv文件

读取xml文件 有好多种读取xml的方式,xmlDOM比较常见,我使用了另外一种,它以数据流的方式打开文件并读取内容 Imports System.Xml  Dim group As New List(Of String)  Using reader As XmlReader = XmlReader.Create(OpenFileDialog2.FileName)      While reader.ReadToFollowing("group")          reader.Mo

读取XML文件的指定节点的值 并转换为Item

cmb_State_Send.ItemsSource = null; XmlDocument doc = new XmlDocument(); doc.Load("D:\\模板\\WorkstationState_Config.xml"); //加载Xml文件 XmlElement rootElem = doc.DocumentElement; //获取根节点 XmlNode xn = rootElem.SelectSingleNode("//Workstation[@Nam

Java使用相对路径读取xml文件

java使用相对路径读取xml文件 博客分类: java javaXMLJavaWeb 一.xml文件一般的存放位置有三个: 1.放在WEB-INF下: 2.xml文件放在/WEB-INF/classes目录下或classpath的jar包中: 3.放在与解析它的java类同一个包中,不一定是classpath: 二.相对应的两种使用相对路径的读取方法: 方法一:(未验证) 将xml文件放在WEB-INF目录下,然后 程序代码: InputStream is=getServletContext(