最牛的路径定位方式:// 先获取当前类对象(类名.class) 然后再调用getResourceAsStream(获取资源成为流— 输入流) 目前学的: / 代表从src下面找


package com.itheima.d1_dom4j;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.junit.Test;import java.util.ArrayList;import java.util.List;public class Dom4JTest2 { @Test public void parseToList() throws Exception { // 需求:解析XML中的数据成为一个List集合对象。 // 1、导入框架(做过) // 2、创建SaxReader对象 SAXReader saxReader = new SAXReader(); // 3、加载XML文件成为文档对象Document对象。 Document document = saxReader.read(Dom4JTest2.class.getResourceAsStream("/Contacts.xml")); // 4、先拿根元素 Element root = document.getRootElement(); // 5、提取contact子元素 List<Element> contactEles = root.elements("contact"); // 6、准备一个ArrayList集合封装联系人信息 List<Contact> contacts = new ArrayList<>(); // 7、遍历Contact子元素 for (Element contactEle : contactEles) { // 8、每个子元素都是一个联系人对象 Contact contact = new Contact(); contact.setId(Integer.valueOf(contactEle.attributeValue("id"))); contact.setVip(Boolean.valueOf(contactEle.attributeValue("vip"))); contact.setName(contactEle.elementTextTrim("name")); contact.setGender(contactEle.elementTextTrim("gender").charAt(0)); contact.setEmail(contactEle.elementText("email")); // 9、把联系人对象数据加入到List集合 contacts.add(contact); } // 10、遍历List集合 for (Contact contact : contacts) { System.out.println(contact); } }}