zoukankan      html  css  js  c++  java
  • 使用dom4j解析xml

    一.代码(java代码):

    1. 使用字符串路径:

        /**
         *  01
         * 使用此种方式 目录路径从根目录开始
         */
        @Test
        public void testParseXml03() {
            try {
                SAXReader reader = new SAXReader();
                Document doc = reader.read("src/config"+File.separator+"testxml.xml");
                Element root = doc.getRootElement();
                
                Element em;
                for(Iterator<?> i = root.elementIterator("value"); i.hasNext();){
                    em = (Element) i.next();
                    System.out.println(em.elementText("name"));
                    System.out.println(em.elementText("password"));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    2. 使用new File:

        /**
         * 02
         * 使用此种方式解析 
         * 使用  new File
         */
        @Test
        public void testParseXml01() {
    //        System.getProperty("user.dir")  是动态获得当前文件的路径
    //        File file = new File(System.getProperty("user.dir")+File.separator+"xmlOfConfig"+File.separator+"testxml.xml");
            File file;
            try {
                file = new File("xmlOfConfig"+File.separator+"testxml.xml");
                SAXReader reader = new SAXReader();
                Document doc = reader.read(file);
                Element root = doc.getRootElement();
                
                Element em ;
                for(Iterator<?> i = root.elementIterator("value"); i.hasNext();){
                    em = (Element) i.next();
                    System.out.println(em.elementText("name"));
                    System.out.println(em.elementText("password"));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    3. 使用InputStream:

        /**
         *  03
         * 使用此种方式获得InputStream, 
         * xml目录只能在src下(可以在src下新建文件夹);
         */
        @Test
        public void testParseXml02() {  
        // config目录和根目录等价,由于使用new source folder创建
            InputStream in = ParseXml.class.getClassLoader().getResourceAsStream("config"+File.separator+"testxml.xml");
            try {
                SAXReader reader = new SAXReader();
                Document doc = reader.read(in);
                Element root = doc.getRootElement();
                
                Element em ;
                for(Iterator<?> i = root.elementIterator("value"); i.hasNext();){
                    em = (Element) i.next();
                    System.out.println(em.elementText("name"));
                    System.out.println(em.elementText("password"));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    二.附(xml代码及位置示意)

    1. xml文件:

    <?xml version='1.0' encoding='utf-8'?>
    <document>
      <value>
        <name >qq</name>
        <password>123</password>
      </value>
    </document>

    2. xml文件所在包中位置示意:

        

    
    

    小菜鸟一枚,以上代码有问题之处欢迎指正,学习ing。

  • 相关阅读:
    python初学者学习工具安装教程&安装步骤详解
    Django面试题
    数据库-面试题
    Python面试题
    Python 内置函数&filter()&map()&reduce()&sorted()
    Python匿名函数(lambda函数)
    Python中两大神器&exec() &eval()
    面向对象&从这里开始我们将不再是纯小白
    软件开发程序猿日常必备,现用现查&日志记录
    如何去写项目的readme&链接
  • 原文地址:https://www.cnblogs.com/moly/p/6841324.html
Copyright © 2011-2022 走看看