【慕课笔记】4-5 应用DOM4J及JDOM方式解析XML—在JDOM中存储Book对象
来源:互联网 发布:网络怎么赚钱 编辑:程序博客网 时间:2024/04/19 19:56
package com.imooc.xml; 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.jdom.Attribute;import org.jdom.Document;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.input.SAXBuilder;public class TestJDOM {private static ArrayList<Book> bookslist=new ArrayList<Book>();public static void main(String[] args) {//进行对book.xml文件的JDOM解析//准备工作//1.创建一个SAXBuilder对象SAXBuilder saxBuilder=new SAXBuilder();//2.创建一个输入流,将xml文件加载到输入流中InputStream in;try {in = new FileInputStream("src/res/haha.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("price")){bookentity.setPrice(child.getValue());}else if(child.getName().equals("year")){bookentity.setYear(child.getValue());}else if(child.getName().equals("language")){bookentity.setLanguage(child.getValue());}}System.out.println("-----结束解析第"+(booklist.indexOf(book)+1)+"本书-----");bookslist.add(bookentity);bookentity=null;System.out.println(bookslist.size());}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (JDOMException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
0 0
- 【慕课笔记】4-5 应用DOM4J及JDOM方式解析XML—在JDOM中存储Book对象
- 【慕课笔记】4-2 应用DOM4J及JDOM方式解析XML—应用JDOM解析节点属性
- 【慕课笔记】4-4 应用DOM4J及JDOM方式解析XML—JDOM解析时乱码的处理
- 【慕课笔记】4-1 应用DOM4J及JDOM方式解析XML—JDOM开始解析前的准备工作
- 【慕课笔记】4-7 应用DOM4J及JDOM方式解析XML—应用DOM4J解析节点属性
- 【慕课笔记】4-8 应用DOM4J及JDOM方式解析XML—应用DOM4J解析子节点的信息
- 【慕课笔记】4-6 应用DOM4J及JDOM方式解析XML—关于JDOM使用过程中JAR包的引用
- 【慕课笔记】4-3 应用DOM4J及JDOM方式解析XML— 应用JDOM解析子节点的名和值
- JAVA 应用 DOM4J 及 JDOM 方式解析 XML
- Java中DOM4J及JDOM 方式解析xml
- JDOM以及DOM4J方式解析XML
- JAVA 解析XML之JDOM、DOM4J方式
- JDOM及DOM4J解析xml文件
- xml---4种解析方式dom,sax,jdom,dom4j
- xml的解析方式——dom/sax、jdom、dom4j
- 慕课学习笔记之DOM,SAX,JDOM,DOM4J解析XML文件
- JDOM和DOM4J解析含有XML字符串的不同方式
- XML解析方式之DOM、SAX、JDOM、DOM4J
- WEKA文本处理方法
- 栈和队列的有关操作
- 交换机开发(一)—— 交换机的工作原理
- Exception in thread "main" java.util.ConcurrentModificationException
- using namespace std
- 【慕课笔记】4-5 应用DOM4J及JDOM方式解析XML—在JDOM中存储Book对象
- Android-五子连珠
- MongoDB(一)
- markdown(三)环境配置
- 【JAVA/读书随笔】网络
- IIS发布中遇到的问题
- Java工作需求技能
- 5、理解ros服务
- 算法--大数相乘