java解析xml之dom4j解析xml示例分享

DOM4J具有性能优异、功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml,dom4j是一套开源的api。实际项目中,往往选择dom4j来作为解析xml的利器

复制代码 代码如下:

package com.test;

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class Dom4jXML {

    public static void main(String[] args) {
        SAXReader saxReader = new SAXReader();
        File file = new File("e:/People.xml");

        try {
            Document document = saxReader.read(file);
            Element root = document.getRootElement();
            List peoples = new ArrayList();
            for (Iterator iterator = root.elementIterator(); iterator.hasNext();) {
                People people = new People();
                Element peopleElement = (Element) iterator.next();
                people.setId(peopleElement.attribute("id").getValue());
                for (Iterator childIterator = peopleElement.elementIterator(); childIterator.hasNext();) {
                    Element childPeopleElement = (Element) childIterator.next();
                    if (childPeopleElement.getName().equals("Name")) {
                        people.setEnglishName(childPeopleElement.attribute("en").getValue());
                        people.setName(childPeopleElement.getText());
                    } else if (childPeopleElement.getName().equals("Age")) {
                        people.setAge(childPeopleElement.getText());
                    }
                }
                peoples.add(people);
            }

            for (People p : peoples) { 
                System.out.println(p.getId()+"\t"+p.getName()+"\t"+p.getEnglishName()+"\t"+p.getAge()); 
            } 

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}

以上就是java解析xml之dom4j解析xml示例分享的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java