1. 程式人生 > >Java:簡單的讀寫XML檔案之使用DOM4J讀寫

Java:簡單的讀寫XML檔案之使用DOM4J讀寫

Dom4J方式解析XML檔案。dom4j是非官方提供的xml檔案解析方式,因此需要去第三方下載dom4j的jar包

File file = new File("D:\\chengmuzhe\\java\\JavaOOP6.0\\students.xml");
    SAXReader reader = new SAXReader();
    Document document = reader.read(file);
    Element root = document.getRootElement();
    try {
        System.out.println("學生資訊:");
        for (Iterator iterator = root.elementIterator(); iterator.hasNext();) {
            Element element = (Element) iterator.next();
            String ids = element.elementText("stuId");

            System.out.println(ids);
            String names = element.elementText("stuName");
            System.out.println(names);
            String age = element.elementText("age");
            System.out.println(age);

        }
    } catch (Exception e) {
        // TODO: handle exception
    }

讀XML是還有一種方法就是使用Document的selectNodes來查詢節點

使用這個方法是需要另外的包

匯入xPath支援的jar包。jaxen-1.1-beta-6.jar(首先要先匯入dom4j包,dom4j下載地址:http://www.dom4j.org/dom4j-1.6.1/)。下載jdom時在解壓後的lib下



List lists = document.selectNodes("//students");
        Iterator iter = lists.iterator();
        while (iter.hasNext()) {
            Element element = (Element) iter.next();
                String ids = element.elementText("stuId");
            System.out.println(ids);
            String names = element.elementText("stuName");
            System.out.println(names);
            String age = element.elementText("age");
            System.out.println(age);

    }

寫XML

Document document = DocumentHelper.createDocument();
    Element element = document.addElement("students");
    Element studentElement = element.addElement("student");
    studentElement.addAttribute("email", "
[email protected]
"); Element idElement = studentElement.addElement("stuId"); idElement.setText("55"); Element nameElement = studentElement.addElement("stuName"); idElement.setText("55Name"); Element ageElement = studentElement.addElement("age"); ageElement.setText("55"); try { XMLWriter output = new XMLWriter(new FileWriter(new File( "students2.xml"))); output.write(document); output.close(); } catch (IOException e) { System.out.println(e.getMessage()); }