`
ttitfly
  • 浏览: 616297 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JDom处理xml

    博客分类:
  • java
阅读更多
1.DOM的缺点主要是由于DOM是一个接口定义语言(IDL),它的任务是在不同语言实现中的一个最低的通用标准,并不是为JAVA特别设计的。DOM API 直接沿袭了 XML 规范。在 XML 中,每件东西都是一个结点,因此您能在 DOM 中找到一个几乎每件东西都可以扩展的基于 Node 的接口和返回 Node 的一系列方法。
在 JDOM 中,XML 元素就是 Element 的实例,XML 属性就是 Attribute 的实例,XML 文档本身就是 Document 的实例。因为 JDOM 对象就是像 Document、Element 和 Attribute 这些类的直接实例,因此创建一个新 JDOM 对象就如在 Java 语言中使用 new 操作符一样容易。JDOM 的使用是直截了当的。

可以理解为:dom是为所有语言提供一种接口api规范,而jdom则只是为java提供一种api规范。


2.用jdom生成一个xml文件:

package jdom;

import java.io.FileWriter;

import org.jdom.Comment;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

public class JDomTest {
	
	public static void main(String[] args) throws Exception{
		//定义根节点
		Element root = new Element("student");
		//给根节点设置属性
		root.setAttribute("username", "zhangsan").setAttribute("age", "20");
		//给根节点设置一个Text Child
		root.addContent("user1");
		//设置一个注释
		root.addContent(new Comment("this is one student!"));
		//定义一个子节点
		Element child = new Element("student1");
		child.addContent(new Element("china"));
		
		root.addContent(child);
		
		
		//将根节点添加到Document上
		Document doc = new Document(root);
		
		Format format = Format.getPrettyFormat();
		//设置字符编码,默认为UTF-8
		format.setEncoding("gbk");
		//设置扩展空元素,即<test/>为<test></test>
		format.setExpandEmptyElements(true);
		//子节点和父节点差几个空格,默认是2个
		format.setIndent("    ");
		//将整个Document输出xml文件
		XMLOutputter outputter = new XMLOutputter(format);
		outputter.output(doc, new FileWriter("jdom.xml"));

		
	}

}



生成后的xml文件为:
<?xml version="1.0" encoding="gbk"?>
<student username="zhangsan" age="20">
    user1
    <!--this is one student!-->
    <student1>
        <china></china>
    </student1>
</student>





3.利用JDOM读取xml文件

package jdom;

import java.io.FileWriter;
import java.util.List;

import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

public class JDomReaderTest {

	public static void main(String[] args) throws Exception{
		//读取xml文件用的是SAXBuilder
		SAXBuilder builder = new SAXBuilder();
		//获得文档
		Document doc = builder.build("jdom.xml");
		//获得根元素
		Element root = doc.getRootElement();
		//打印出根元素的名字
		System.out.println(root.getName());
		
		List<Attribute> list = root.getAttributes();
		for(Attribute attr : list){
			System.out.println(attr.getName() + ":" + attr.getValue());
		}
		
		Element childStudent1 = root.getChild("student1");
		System.out.println(childStudent1.getName());
		
		//删除元素
		root.removeAttribute("age");
		root.removeChild("student1");
		
		Format format = Format.getPrettyFormat();
		//设置字符编码,默认为UTF-8
		format.setEncoding("gbk");
		//设置扩展空元素,即<test/>为<test></test>
		format.setExpandEmptyElements(true);
		//子节点和父节点差几个空格,默认是2个
		format.setIndent("    ");
		//将整个Document输出xml文件
		XMLOutputter outputter = new XMLOutputter(format);
		//重新生成一个xml
		outputter.output(doc, new FileWriter("jdom2.xml"));
	}

}


jdom2.xml的内容为:

<?xml version="1.0" encoding="gbk"?>
<student username="zhangsan">
    user1
    <!--this is one student!-->
</student>


1
0
分享到:
评论

相关推荐

    jdom处理xml例子

    jdom处理xml例子

    JDOM 处理XML

    JDOM 处理XML 希望对你有所帮助

    JDOM处理XML快速上手 - Web UI Design - JavaEye技术网站.mht

    JDOM处理XML快速上手 - Web UI Design - JavaEye技术网站.mht

    JDOM(java)使用详解及实例

    利用JDOM处理XML文档将是一件轻松、简单的事。 JDOM 在2000年的春天被Brett McLaughlin和Jason Hunter开发出来,以弥补DOM及SAX在实际应用当中的不足之处。 这些不足之处主要在于SAX没有文档修改、随机访问以及...

    JDOM 介绍及使用指南

    利用JDOM处理XML文档将是一件轻松、简单的事。 JDOM 在2000年的春天被Brett McLaughlin和Jason Hunter开发出来,以弥补DOM及SAX在实际应用当中的不足之处。 这些不足之处主要在于SAX没有文档修改、随机访问以及输出...

    JDOM 介绍及使用

    利用JDOM处理XML文档将是一件轻松、简单的事。 JDOM 在2000年的春天被Brett McLaughlin和Jason Hunter开发出来,以弥补DOM及SAX在实际应用当中的不足之处。 这些不足之处主要在于SAX没有文档修改、随机访问以及输出...

    用jdom简化xml 编程 关于xml

    JDOM 是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序。它的设计包含 Java 语言的语法乃至语义。但是它是否比现有的 -- 更标准的 -- XML APL 好呢?当我们看过一些示例并说明这个流行的开放源代码...

    jsp处理xml文件的相关技术文档

    jsp处理xml文件的相关技术文档,有用DOM做XML处理.doc、用JDOM操作XML文.txt、在JSP开发中使用jdom解析临时存放数据的XML文件.txt、第8章_JSP实现对XML读写.pdf、从数据库Mysql读取数据转化为xml文档的Java类等,想...

    处理xml文件的java类库

    jdom.rar - jdom 是一个处理xml文件的java类库,可以方便地对xml文件进行读或写-jdom is a processing xml file java class library, can easily read or write xml file

    Java利用JDom解析和传递XML格式数据

    Java利用JDom来解析处理XML数据格式:  需要的包jdom-1.1.2.jar  1、将数据转换成XML格式的数据进行传递 Element rootList, firstList, secondItem, thirdItem; //根元素标签名 rootList = new Element...

    在Java巧用JDOM来生成和处理XML文档 (1).pdf

    本文通过在Eclipse中创建并运行两个java程序,展现了JDOM直接为java编程服务的特性,从程序运行结果中可体会到把SAX和DOM功能有效地结合起来,通过一个JDOM的jar包在java程序中实现对XML数据的处理。

    xml内容解析,包含命名空间时需特殊处理(dom4j)

    NULL 博文链接:https://superich2008.iteye.com/blog/1750287

    java处理xml文件的三种方法

    java处理xml文件的三种方法,包括jdom sax dom 三种,

    jdom的jar包 jdom开发包

    一个jdom包,用于xml处理,可用于XFire客户端的wsdl映射处理

    jdom.rar_jdom_jdom.zip

    jdom 是一个处理xml文件的java类库,可以方便地对xml文件进行读或写

    java处理xml的四种方式jdom/dom4j/dom/sax

    常用的java处理导入xml的4种方式。 可以上官网下载最新的资源包。 每种方式都给出了测试的例子,可以自己测试下。

    sax包与jdom包

    sax.jar jdom.jar XML文件处理相关的两个包都有 sax.jar jdom.jar XML文件处理相关的两个包都有

    Java and XML, 3rd Edition

    《Java与XML》(第三版)的内容涵盖了所有主要的Java XML处理库程序,全面讲解了SAX、DOM、StAX、JDOM以及dom4j的应用程序编程接口,同时还囊括了最新版本的用于XML处理的Java应用程序编程接口(JAXP)和用于XML绑定...

    jdom.jar

    用JAVA来处理XML

Global site tag (gtag.js) - Google Analytics