`

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简介** ...通过JDOM,我们可以轻松地处理XML数据,无论是简单的文档还是复杂的结构,都能得心应手。在实际项目中,根据需求选择适当的解析器,结合JDOM提供的API,可以高效地完成XML相关的任务。

    JDOM 处理XML

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

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

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

    jdom 读取XML 文件

    JDOM是Java中一个用于处理XML文档的库,它提供了一种高效且方便的方式来创建、读取、修改XML文件。本篇文章将深入探讨如何使用JDOM来读取XML文件。 首先,我们需要了解JDOM的基本概念。JDOM通过构建一棵DOM...

    使用JDOM解析XML文件

    在Java编程中,JDOM(Java Document Object Model)是处理XML的一种库,它提供了方便的方式来创建、修改和读取XML文档。本篇文章将深入探讨如何使用JDOM解析XML文件。 首先,我们需要理解JDOM的基本结构。JDOM通过...

    java jdom解析xml

    Java JDOM解析XML是Java开发中处理XML文档的一种方法,JDOM全称为Java Document Object Model,它是一个基于Java语言的API,用于创建、修改和读取XML文档。JDOM为XML处理提供了一种高效且方便的解决方案,尤其适用于...

    使用Struts,jdom对xml数据进行操作

    这个压缩包中的"XMLDataBase"可能包含了一个示例的XML数据库文件,以及相关的Struts配置和Action类,用于演示如何在实际项目中结合Struts和JDOM处理XML数据。 总之,通过结合Struts的MVC架构和JDOM的XML处理能力,...

    java读取XML(JDOM)

    总的来说,使用JDOM处理XML文件涉及到创建解析器,加载XML文件,获取和操作XML文档的元素及属性。通过这些步骤,我们可以方便地读取和解析XML数据,将其转化为Java对象,进行进一步的业务处理。对于开发者来说,掌握...

    用jdom解析xml

    为了处理XML文档,开发者可以使用多种库,其中之一就是JDOM。JDOM是一个专门为Java设计的API,它提供了一种高效、方便的方式来构建和读取XML文档。在这个教程中,我们将深入探讨如何在JSP(JavaServer Pages)环境中...

    用jdom解析xml文件

    总结来说,JDOM是一个强大的XML解析库,它使Java开发者能够高效地处理XML文档。通过学习和熟练掌握JDOM,我们可以更好地理解和操纵XML数据,从而在各种应用场景中发挥XML的优势。在这个例子中,我们只是触及了JDOM的...

    jdom解析xml文件

    **JDOM解析XML文件** ...通过这种方式,JDOM为Java开发者提供了一种强大且灵活的工具来处理XML数据,使得在程序中处理XML文档变得简单而直观。无论是读取配置文件、解析服务响应还是构建复杂的XML结构,JDOM都能胜任。

    java利用jdom读取xml文件

    Java语言在处理XML数据时,常常会用到各种解析库,其中之一便是JDOM。JDOM,全称为Java Document Object Model,是一种专为Java设计的XML处理API,它提供了对XML文档结构的完整映射,使得我们可以方便地创建、读取和...

    jdom_xml.rar_jdom_xml

    JDOM(Java Document Object Model)是Java平台上的一个XML处理库,它提供了一种直接在Java对象层次上操作XML文档的方法。JDOM的主要优势在于其完全基于Java,因此在性能和效率上有较好的表现,同时提供了丰富的API...

    JDOM解析xml文档实例(自己编写,仅供参考)

    JDOM是Java中专门用来解析和操作XML的一个库,它提供了一种高效且方便的方式来处理XML文档。本实例将深入讲解如何使用JDOM进行XML解析。 首先,我们需要在项目中引入JDOM的类库。JDOM官方网站提供了不同版本的JDOM ...

    基于JDOM的XML技术用于“树型”数据结构的研究.pdf

    4. 使用JDOM处理XML文档的过程:主要包括将计算机信息的树型结构保存至XML文档和读取XML文档数据生成计算机树两个步骤。通过递归算法和JDOM提供的函数,如addElement()和saveXML(),开发者可以轻松实现对XML文档的...

    利用JDOM解析xml文件

    JDOM是Java中一个专门用来处理XML的库,它提供了一种高效且方便的方式来创建、修改和读取XML文档。本篇文章将深入探讨如何利用JDOM解析XML文件,并基于XML中的类名生成相应的对象。 首先,我们需要理解JDOM的基本...

    JDOM操作xml文件的xmlBean

    通过上述分析可以看出,JDOM不仅提供了简洁的API来处理XML文档,还能够很好地应对常见的读取、修改、添加和删除等操作需求。然而,在实际项目中,根据具体的需求和技术栈选择合适的XML处理工具也是非常重要的。

    Jdom解析XML

    在Java中,有多种库用于处理XML,其中之一就是JDOM。JDOM是一个专为Java设计的XML处理库,它提供了高效、便捷的方式来创建、修改和读取XML文档。 **JDOM基础** JDOM的主要目标是提供一个完全基于Java的XML解决方案...

    Jdom查找XML文件的所有节点内容

    通过以上步骤,我们可以看到,使用JDOM库查找并提取XML文件的所有节点内容,不仅可以简化XML解析的过程,还能够通过递归算法高效地遍历和处理复杂的XML结构。这种方法在处理大量XML数据时特别有用,可以提高数据处理...

    java利用jdom解析xml文件

    Java中的JDOM库是用于解析XML文档的一种强大的工具。...通过JDOM,你可以轻松地处理XML文档,无论是读取还是修改,都变得轻而易举。在实际开发中,掌握XML和JDOM的操作对于处理结构化数据和接口通信至关重要。

Global site tag (gtag.js) - Google Analytics