您的位置:首页 > 编程语言 > Java开发

java--通过JDBC方式读取xml文件简单实例

2015-10-15 16:33 597 查看
代码如下:package com.xml.JDOM;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import org.jdom.input.SAXBuilder;import org.jdom.Attribute;import org.jdom.Document;import org.jdom.Element;import com.xml.book;public class JdomTest {//通过jdom方式解析xml文件public static void main(String[] args) throws Exception{//在JDOM中存储book对象,将其保存在list集合中ArrayList<book> books=new ArrayList<book>();book b1= new book();//先创建一个SAXBuilder对象,调用它的build方法将xml加载到输入流中SAXBuilder sax= new SAXBuilder();//如果遇到乱码问题可以设置解析时的编码InputStreamReader in= new InputStreamReader(new FileInputStream( new File("books.xml")), "utf-8");Document document= sax.build(in);//大概是获取根节点的作用Element book=document.getRootElement();//获取跟以下属性的集合List<Element> booklist=book.getChildren();System.out.println("-----开始解析-----");//遍历属性for(Element b:booklist){System.out.println("开始解析第"+(booklist.indexOf(b)+1) +"本书");//获取下一个节点属性的的集合List<Attribute> attrList=b.getAttributes();for(Attribute attr:attrList){//输出属性名和属性的值String attrName=attr.getName();String attrValue=attr.getValue();System.out.println("属性名为:"+attrName+"----属性值为:"+attrValue);//获取此节点下所有节点的集合List<Element> children=b.getChildren();for(Element child:children){System.out.println("节点名为:"+child.getName()+" 节点值为:"+child.getValue());if(child.getName().equals("name")){b1.setName(child.getValue());}if(child.getName().equals("author")){b1.setAuthor(child.getValue());}if(child.getName().equals("year")){b1.setYear(child.getValue());}}}books.add(b1);b1= new book();}//将list中保存的book对象进行输出验证for(book b:books){int i=1;System.out.println("---------分割线----------");System.out.println("第"+i+"本书的信息如下:");System.out.println("书名为:"+b.getName()+" 作者是:"+b.getAuthor()+" 出版年份:"+b.getYear());i++;}}}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: