package com.imooc.jdomtest; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import org.jdom2.Attribute; import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.JDOMException; import org.jdom2.input.SAXBuilder; import com.imooc.entity.Book; public class JDOMTest { /** * @param args */ public static void main(String[] args) { //private static ArrayList<Book> booksList =new ArrayList<Book>(); ArrayList<Book> booksList=new ArrayList<Book>(); // 进行对book.xml文件的JDOM解析 // 准备工作 // 1.创建一个SAXBuilder对象 SAXBuilder saxBuilder = new SAXBuilder(); InputStream in; try { // 2.创建一个输入流,将xml文件加载到输入流中 in = new FileInputStream("src/res/books.xml"); // 3.通过saxBuilder的build方法,将输入流加载到saxBuilder中 Document document = saxBuilder.build(in); // 4.通过document对象获取xml文件的根节点 Element rootelement = document.getRootElement(); // 5.获取根节点下的子节点的List集合 List<Element> bookList = rootelement.getChildren(); // 继续进行解析 for (Element book : bookList) { Book bookEntity= new Book(); System.out.println("=========开始解析第" + (bookList.indexOf(book) + 1) + "书=========="); // 解析book的属性 List<Attribute> attrList = book.getAttributes(); // 知道节点下属性名称时,获取节点值 // book.getAttributeValue("id"); // 遍历attrList(针对不清楚book节点下属性的名字及数量) for (Attribute attr : attrList) { // 获取属性名 String attrName = attr.getName(); // 获取属性值 String attrValue = attr.getValue(); System.out.println("属性名:" + attrName + "------属性值:" + attrValue); if (attrName.equals("id")) { bookEntity.setId(attrValue); } } // 对book节点的子节点的节点名以及节点值 List<Element> bookChilds = book.getChildren(); for (Element child : bookChilds) { System.out.println("节点名:" + child.getName() + "----节点值:" + child.getValue()); if (child.getName().equals("name")) { bookEntity.setName(child.getValue()); }else if (child.getName().equals("author")) { bookEntity.setAuthor(child.getValue()); }else if (child.getName().equals("year")) { bookEntity.setYear(child.getValue()); }else if (child.getName().equals("price")) { bookEntity.setPrice(child.getValue()); }else if (child.getName().equals("language")) { bookEntity.setLanguage(child.getValue()); } } System.out.println("=========结束解析第" + (bookList.indexOf(book) + 1) + "书=========="); /*booksList.add(bookEntity); bookEntity=null;*/ } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
这里
//private static ArrayList<Book> booksList =new ArrayList<Book>(); ArrayList<Book> booksList=new ArrayList<Book>();
为什么一加上
private
就报错
产品经理不是经理
相关分类