JDOM方式解析、创建XML文件(实例)
来源:互联网 发布:我做淘宝在哪找货源 编辑:程序博客网 时间:2024/05/21 15:01
问:JDOM如何解析XML文件?
JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作
问:使用JDOM需要什么条件?
使用JDOM方式解析XML文档,需要在工程文件中导入jdom.jar包 下载地址
(1)示例代码:
import org.jdom.Document;import org.jdom.Element;import org.jdom.input.SAXBuilder;import org.jdom.output.Format;import org.jdom.output.XMLOutputter;import org.jdom.xpath.XPath;public class JDomResolve { public static void main(String[] args) throws IOException{ String file = "file/books.xml"; InputStream inputStream = new FileInputStream(file); JDomResolve jDomResolve = new JDomResolve(); //1.JDOM方式解析xml文件 try { List<Book> bookList = jDomResolve.getBooks(inputStream); for(Book book : bookList ){ System.out.println(book.toString()); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } //2.JDOM方式创建xml文件 jDomResolve.jDomCreateXml(); } /** * JDom方式解析xml */ public List<Book> books = new ArrayList<Book>(); public Book book = new Book(); public List<Book> getBooks(InputStream inputStream) throws Exception{ //创建SAXBuilder实例 SAXBuilder sb = new SAXBuilder(); //获取document Document document = sb.build(inputStream); //获取根节点 Element rootElement = document.getRootElement(); //获取bookList List listElement = XPath.selectNodes(rootElement, "//bookstore/book"); //循环取值(枚举) for(Iterator it = listElement.iterator();it.hasNext();){ Element bookElement = (Element) it.next(); String id = bookElement.getAttributeValue("id"); String name = bookElement.getChildText("bookName"); String author = bookElement.getChildText("author"); String year = bookElement.getChildText("year"); book.setId(Integer.parseInt(id)); book.setBookName(name); book.setAuthor(author); book.setYear(year); books.add(book); book=new Book(); } return books; } /** * JDom方式创建xml文件 */ public void jDomCreateXml() throws FileNotFoundException, IOException { //创建document文档节点 Document document = new Document(); //创建根节点 Element bookstore = new Element("bookstore"); //将bookstore添加到document下 document.addContent(bookstore); //创建子节点 Element book = new Element("book"); //添加属性 book.setAttribute("id", "1"); //将子节点添加到根节点下 bookstore.addContent(book); //创建子节点 Element name = new Element("name"); name.setText("冰与火之歌"); Element author = new Element("author"); author.setText("乔治马丁"); Element year = new Element("year"); year.setText("2004"); Element price = new Element("price"); price.setText("89"); //将子节点添加到book下 book.addContent(name); book.addContent(author); book.addContent(year); book.addContent(price); //将创建的xml文档写到流中 XMLOutputter out = new XMLOutputter(); //设置生成xml文档的格式 Format format = Format.getCompactFormat(); //自定义xml文档的缩进 format.setIndent(" "); out.setFormat(format); out.output(document, new FileOutputStream("file/cjdom.xml")); }}
(2)Book实体类代码:
public class Book { private int id; //id-book private String bookName;//书名 private String author;//作者 private String year;//年份 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getBookName() { return bookName; } public void setBookName(String bookName) { this.bookName = bookName; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getYear() { return year; } public void setYear(String year) { this.year = year; } @Override public String toString() { return this.id+"---"+this.bookName+"---"+this.author+"---"+this.year; }}
(3)创建的cjdom.xml代码截图:
0 0
- JDOM方式解析、创建XML文件(实例)
- Jdom方式创建/解析xml
- JAVA创建XML文件(四)---JDOM方式创建XML
- xml文件--JDOM方式解析xml文件
- JDom生成解析XML文件实例解析
- JAVA解析XML文件(三)---JDOM方式解析
- DOM方式解析、创建XML文件(实例)
- SAX方式解析、创建XML文件(实例)
- DOM4J方式解析、创建XML文件(实例)
- jdom解析xml文件简单实例
- Java之JDOM方式解析XML文件(学习笔记)
- 使用JDOM创建和解析XML文件
- JDom,jdom解析xml文件
- Java之xml文件解析三(JDOM方式解析xml文件)
- XML解析JDom和JDOM(SAX方式)
- xml文件解析-JDOM
- JDOM解析XML文件
- JDOM解析XML文件
- jmeter中mail reader sampler邮件层级多,正则表达式提取器(regular expression extror)无法提取,使用BeanShellPostProcessor解决
- 小程序七:组件之表单组件
- mysql数据库权限(下)
- 图像处理库 libpng
- 第一个Java程式
- JDOM方式解析、创建XML文件(实例)
- android 去掉系统自带的跳转activity的动画
- S29GL128P norflash 读写擦除问题
- Unity3d 屏幕特效实现类似死亡之后的全屏黑白效果
- shell脚本学习笔记(四) —— expr、basename、shift
- Ant批量打apk包
- Jsp动态网站初步项目 --简单的商品浏览页面(商品浏览页面index.jsp)
- tomcat--错误
- 变量、作用域、以及内存