public void test2() throws Exception
{
//1 读取books.xml文件
SAXReader reader=new SAXReader();
//在junit测试中相对路径是从模块名开始算起
Document document=reader.read("src/books.xml");
//2 通过document对象获取根元素
Element rootElement=document.getRootElement();
//3 通过根元素获取book标签对象
//element()和elements()都是通过标签名查找子元素
List<Element> books=rootElement.elements("book");
//4 遍历,处理每个book标签转化为book类
for(Element book:books)
{
Element nameElement=book.element("name");
String nameText=nameElement.getText();
//直接获取指定标签名的文本内容
String priceText=book.elementText("price");
String authorText=book.elementText("author");
String snValue=book.attributeValue("sn");
System.out.println(new Book(snValue,nameText,authorText,Double.parseDouble(priceText)));
}
}
1.创建SAXReader对象。
2.读取xml文件存入Document中
3.通过Document对象获取根元素
4.通过elements()方法将子元素存入list集合
5.遍历,用elementText方法,直接获取该book内子元素值,调用book构造函数,构造book类。