利用dom4j解析xml文件

原文地址为: 利用dom4j解析xml文件

    写这篇文章的目的并不是来讲解dom4j的功能,只是对一个简单的xml文件进行了读取操作,希望大家看了以后会有一些作用,不要期望讲解的有多么的细致。

          //从文件读取XML,输入文件名,返回XML文档
          SAXReader sax = new SAXReader();
          File fileIO = new File(filepath);
          Document doc = sax.read(fileIO);

 

          //读取根节点

          Elemet root = doc.getRootElement();

          //读取xml的孩子节点

          Element children = root.element("xxxx");

          //读取一个节点的属性,这里使用根结点的属性,其他的一样

          root.attributeValue("xxxx");

 

    有了这几个基本的方法我们就可以做这个简单的xml文档解析了,哦,忘记了,先说一下xml的结构,如下:

<?xml version="1.0" encoding="UTF-8"?>
<test type="testxml" ver="1.0">
    <path>C盘下的一个测试</path>
    <name>测试</name>
    <params num="4">
        <param>测试1</param>
        <param>测试2</param>
        <param>测试3</param>
        <param>测试4</param>
     </params>
</test>

 

解析的代码如下:

  1. private static final String division = "----------------------------------";
  2.     public static void main(String args[]) throws IOException {
  3.         
  4.         //String path = 
  5.         File directory = new File("");
  6.         String filepath = directory.getCanonicalPath() + "//src//readxml//test.xml";
  7.         ParseXml parse = new ParseXml();
  8.         parse.readXml(filepath);
  9.     }
  10.     
  11.     private void readXml(String filepath) {
  12.         //从文件读取XML,输入文件名,返回XML文档
  13.         SAXReader sax = new SAXReader();
  14.         File fileIO = new File(filepath);
  15.         Document doc = null;
  16.         try {
  17.             doc = sax.read(fileIO);
  18.             Element root = doc.getRootElement();
  19.             System.out.println("这个xml文件的根结点为:" + root.getName());
  20.             System.out.println(division);
  21.             String type = root.attributeValue("type");
  22.             String ver = root.attributeValue("ver");
  23.             System.out.println("这个xml文件的根结点的属性分别是:" + type + "/t" + ver);
  24.             System.out.println(division);
  25.             String path = root.element("path").getTextTrim();
  26.             System.out.println("这个xml文件的path结点为:" + path);
  27.             System.out.println(division);
  28.             
  29.             String name = root.element("name").getTextTrim();
  30.             System.out.println("这个xml文件的name结点为:" + name);
  31.             System.out.println(division);
  32.             
  33.             Element params = root.element("params");
  34.             String num = params.attributeValue("num");
  35.             System.out.println("这个xml文件的params结点中共迭代出了" + num + "个节点,分别是:");
  36.             Iterator it = params.elementIterator("param");
  37.             while(it.hasNext()) {
  38.                 String param = ((Element) it.next()).getTextTrim();
  39.                 System.out.println(param);
  40.                 System.out.println(division);
  41.             }
  42.         } catch (DocumentException e) {
  43.             System.out.println("xml文件解析错误,错误原因为:");
  44.             e.printStackTrace();
  45.         }
  46.     }

至此解析完毕,这个例子很简单,但是应该能够满足普通的应用。

完整的工程文件请在这里下载


转载请注明本文地址: 利用dom4j解析xml文件

猜你喜欢

转载自blog.csdn.net/chch998/article/details/80869328