1、SAXReader():创建解析器对象
    2、利用解析器读取文件到内存 s=解析器对象.read()
    3、获取跟根标签 getRootElement() s.getRootElement()
    4、通过跟标签获取所有对象标签: 跟标签对象.elements(“参数”),参数可以指定获取对应名字对象信息标签,返回一个list
    5、由于对象标签有多个,循环对象标签,通过对象标签.attribute(“id”),可以获取对象标签id属性,通过id对象.getValue()获取这个id的属性值。
    6、通过对象列表中每个对象标签.element(“name”),获取到每个属性标签,通过属性标签.getText()获取到值

    demo:
    xml:

    1. <?xml version="1.0" encoding="UTF-8" ?>
    2. <students>
    3. <!-- 第一个学生信息-->
    4. <student id="1">
    5. <name>张三</name>
    6. <age>23</age>
    7. <info>学生&lt;&gt;的信息</info>
    8. <message><![CDATA[内容 <<<<< >>>>>]}]]></message>
    9. </student>
    10. <!-- 第一个学生信息-->
    11. <student id="2">
    12. <name>李四</name>
    13. <age>24</age>
    14. </student>
    15. <aaa></aaa>
    16. </students>
    1. public class XmlParse {
    2. public static void main(String[] args) throws DocumentException {
    3. // 实例化saxReader对象
    4. SAXReader saxReader = new SAXReader();
    5. // 通过saxReader对象读取文件加载到内存
    6. Document document = saxReader.read(new File("mStudentManager\\xml\\student.xml"));
    7. // 通过document对象获取根路径<students>
    8. Element rootElement = document.getRootElement();
    9. // 使用根路径获取到所有的student对象放入list中
    10. List<Element> studentElement = rootElement.elements("student");
    11. // 创建arraylist用于后面存放student对象
    12. ArrayList<Student> list = new ArrayList<>();
    13. for (Element element : studentElement) {
    14. // 取出studentElementlist中每个元素
    15. // 使用attribute获取到id
    16. Attribute idkey = element.attribute("id");
    17. // 根据idkey使用getValue获取id值
    18. String id = idkey.getValue获取id值();
    19. // 使用element.element("name")获取到name标签
    20. Element nameElement = element.element("name");
    21. // 使用getText获取name标签值
    22. String name = nameElement.getText();
    23. Element ageElement = element.element("age");
    24. String age = ageElement.getText();
    25. // 实例化student对象并添加到list中
    26. Student student = new Student(id,name,Integer.parseInt(age));
    27. list.add(student);
    28. }
    29. // 循环打印list中对象信息
    30. for (Student student : list) {
    31. System.out.println(student);
    32. }
    33. }
    34. }