本文主要是介绍java解析xml之二:使用JDOM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一.简介
JDOM是一种解析XML的Java工具包。 它由Breet Mclaughlin和Jason Hunter在2000年初作为一个开放源代码项目正式开始研发。DOM适合于当今流行的各种语言,包括Java,JavaScripte,VB,VBScript,Perl,C,C++等。它了为HTML和XML文档提供了一个可应用于不同平台的编程接口。 DOM的设计为了适用于不同的语言,它保留了不同语言中非常相似的API。但是它并不适合于Java编程者的习惯。而JDOM作为一种轻量级API被制定,它最核心的要求是以Java为中心,只适合于Java语言,它遵循DOM的接口主要规则,除去了DOM中为了兼容各语言而与Java习惯的不同。
在JDOM 中,XML元素就是Element 的实例,XML属性就是Attribute 的实例,XML 文档本身就是Document 的实例。因为JDOM 对象就是像Document、Element 和 Attribute 这些类的直接实例,因此创建一个新JDOM 对象就如在 Java 语言中使用 new 操作符一样容易。JDOM 的使用是直截了当的。JDOM 使用标准的 Java 编码模式。只要有可能,它使用 Java new 操作符而不故弄玄虚使用复杂的工厂化模式,使对象操作即便对于初学用户也很方便。
二.安装JDOM
1.下载二进制版本:http://www.jdom.org/downloads/index.html;
2.将解压后的jdom.jar文件放至项目的类路径中,或可以作为附加包在项目中附加。
三.实例
1.所需xml文件
- <?xml version="1.0" encoding="UTF-8"?>
- <books>
- <book email="zeh2007@126.com">
- <name>C++编程思想</name>
- <price>60.0</price>
- </book>
- </books>
2.解析xml
- package jdomParser;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.Iterator;
- import java.util.List;
- //下面是引用到JDOM中的类
- import org.jdom.Document;
- import org.jdom.Element;
- import org.jdom.JDOMException;
- import org.jdom.input.SAXBuilder;
- import org.jdom.output.XMLOutputter;
- public class JDomParser {
- public JDomParser() {
- String xmlpath="Test.xml";
- //指定解析器
- SAXBuilder builder=new SAXBuilder(false);
- try {
- //得到Document
- Document doc=builder.build(xmlpath);
- //得到根元素
- Element books=doc.getRootElement();
- //得到元素(节点)的集合
- List booklist=books.getChildren("book");
- //轮循List集合
- for (Iterator iter = booklist.iterator(); iter.hasNext();) {
- Element book = (Element) iter.next();
- //取得元素的属性
- String email=book.getAttributeValue("email");
- System.out.println(email);
- //取得元素的子元素的值
- String name=book.getChildTextTrim("name");
- System.out.println(name);
- //改变元素的值
- book.getChild("name").setText("C++编程思想");
- String price=book.getChildTextTrim("price");
- System.out.println(price);
- book.getChild("price").setText("60.0");
- }
- //保存Document的修改到XML文件中
- XMLOutputter outputter=new XMLOutputter();
- outputter.output(doc,new FileOutputStream(xmlpath));
- }
- catch (JDOMException e) {
- e.printStackTrace();
- }
- catch (IOException e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- new JDomParser();
- }
- }
这篇关于java解析xml之二:使用JDOM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!