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

时间:2022-04-03 23:13:02

代码如下:


package com.test;

 

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

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;

public class JdomXML {

    public static void main(String[] args) {
        File file = new File("e:/People.xml");
        SAXBuilder builder = new SAXBuilder();  
        try {  
            Document document = builder.build(file);  
            Element root = document.getRootElement();  
            List<Element> list = root.getChildren();  
            List<People> peoples = new ArrayList<People>();  
            People people = null;   
            for (Element peopleElement : list) {  
                people = new People();  
                if(null != peopleElement.getAttribute("id")){
                    people.setId(peopleElement.getAttribute("id").getValue());  
                }
                List<Element> childPeopleElements = peopleElement.getChildren();  
                for (Element childPeopleElement : childPeopleElements) {  
                    if ("Name".equals(childPeopleElement.getName())) {  
                        people.setEnglishName(childPeopleElement.getAttributeValue("en"));
                        people.setName(childPeopleElement.getText());  
                    }  
                    else if ("Age".equals(childPeopleElement.getName())) {  
                        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) {  
            e.printStackTrace();  
        }  

    }

}