解析XML並將信息封裝到對象中


【person.xml】要解析的內容

<?xml version="1.0" encoding="UTF-8"?>
<students>
    <student id="88888" phone="15888888888" sex="男">
        <name>張三</name>
        <age>18</age>
        <school>清華</school>
    </student>
    <student id="99999" phone="15999999999" sex="女">
        <name>李四</name>
        <age>28</age>
        <school>北大</school>
    </student>
    <AAAA>
        <aa1>aa111</aa1>
        <aa2>aa222</aa2>
    </AAAA>
    <BBBB></BBBB>
</students>

【Student.java】xml信息所要封裝的Studnet對象

package com.Higgin.parse;

public class Student {
    private String id;
    private String phone;
    private String sex;
    private String name;
    private String age;
    private String school;
    
   //忽略get/set方法
    @Override
    public String toString() {
        return "Student [id=" + id + ", phone=" + phone + ", sex=" + sex
                + ", name=" + name + ", age=" + age + ", school=" + school
                + "]";
    }
}

【DemoStudent.java】將xml信息封裝到Student對象

package com.Higgin.parse;

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

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

//解析person.xml中student數據,持久化到Student對象中
public class DemoStudent {
    
    
    public static void main(String[] args) throws DocumentException {
        List<Student> list=new ArrayList<>();
        
        //讀取xml,封裝對象
        SAXReader saxReader =new SAXReader();
        Document doc=saxReader.read(new File("./src/person.xml"));
        
        //讀取Iterator標簽
        Iterator<Element> it=doc.getRootElement().elementIterator("student");
        while(it.hasNext()){
            Element elem=it.next();
            Student student=new Student();
            student.setId(elem.attributeValue("id"));     //讀取屬性
            student.setPhone(elem.attributeValue("phone"));
            student.setSex(elem.attributeValue("sex"));
            student.setName(elem.elementText("name"));  //讀取文本
            student.setAge(elem.elementText("age"));
            student.setSchool(elem.elementText("school"));
            list.add(student);
        }
        
        for(Student student : list){
            System.out.println(student.toString());
        }
    }
    
}

【運行結果】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM