`

JAVA中利用JDOM类库对XML进行简单的包装处理

阅读更多
package test.base;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import org.apache.log4j.Logger;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

/**
 *<p>   这是一个XML的数据包装类,实现了对XML的简单包装,默认的根结点是property ;
 *只是增加一级子结点,子结点只有一个text内容;
 * 获取子结点的内容是根据前面的 <tag, value>得到的;</p>
 *<p>   这个包装类可以很容易的构造出一个简单的 org.jdom.Document对象;
 * 然后将该文档对象转化成 byte[]对象。</p>
 *<p>   相反的过程,包装类可以将由Document转换出来的 byte[] 对象转换成org.jdom.Document 对象;
 * 然后从 Document 中读取出 <tag,value>。</p>
 * @author wangyi
 *
 */
public class XmlDatagram {
 /** 日志处理器。 */
 private static final Logger logger =Logger.getLogger(XmlDatagram.class);
 /** JDOM文档。 */
 private Document document;
 
 /**
  * 默认的构造方法。
  * @param messageid
  */
 public XmlDatagram() {
  document = new Document();
  document.setRootElement(new Element("property"));
 }
 
 /**
  * 用XML文档的 byte[] 构造 XmlDatagram对象。
  * @param array 由标准的XML文档转换成的 byte[]对象。
  */
 public XmlDatagram(byte[] array) {
	  ByteArrayInputStream binput =new ByteArrayInputStream(array);
	  SAXBuilder builder = new SAXBuilder();
	  try {
	   this.document= builder.build(binput);
	  } catch (IOException ex){
	   logger.error("从byte构造document的时候出现IO异常。",ex);
	  } catch (JDOMException ex){
	   logger.error("从byte构造document的时候出现JDOM异常。",ex);
	  }
 }
 
 /**
  * 增加子结点。
  * @param tag 标签。
  * @param value 标签的内容。
  * @return 新创建的 Element 对象。
  */
 public Element addChild(String tag, String value){
	  Element element = new Element(tag);
	  element.setText(value);
	  document.getRootElement().addContent(element);
	  return element;
 }
 
 /**
  * 得到子结点的内容。
  * @param tag 标签。
  * @return 标签的内容。
  */
 public String getChildValue(String tag) {
	  String value =document.getRootElement().getChildText(tag);
	  return value;
 }

 /**
  * 得到字节数组。
  * @return 由 XML 文档转换成的 byte[]对象。
  * @throws IOException
  */
 public byte[] toByteArrays() throws IOException{
	  ByteArrayOutputStream boutput =new ByteArrayOutputStream();
	  Format format =Format.getCompactFormat();
	  format.setEncoding("UTF-8");
	  XMLOutputter xmlOutput = new XMLOutputter(format);
	  xmlOutput.output(this.document,boutput);
	  return boutput.toByteArray();
 }
 
}
 

 

分享到:
评论

相关推荐

    java xml解析jdom类库

    用于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

    jdom 读取修改xml文件

    JDOM(Java Document Object Model)是一个用于处理 XML 数据的 Java 库。它提供了面向对象的 API 来解析、创建和修改 XML 文档。JDOM 的设计非常直观且易于使用,尤其适合那些希望在 Java 程序中轻松操作 XML 的...

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

    XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,尤其在软件开发和Web服务中广泛应用。JDOM是Java中专门用来...通过这个实例,你可以更好地理解如何利用JDOM在Java中处理XML文档,从而为你的项目带来便利。

    Java类库大全

    Java类库大全是一个集合了众多Java开发中常用和实用类库的资源集合,旨在为开发者提供便利,提高开发效率。这个资源包包含了丰富的Java库,覆盖了从基础数据类型操作到复杂的网络通信、多线程处理、数据库操作、图形...

    JDOM使用详解及实例(解析xml).pdf

    JDOM是一种用于处理XML的Java库,它简化了XML操作,使Java开发者能够以更为直观的方式来读写XML文档。JDOM提供了一套易于理解和使用的API,使得操作XML文档变得更加简单直接。本篇文档《JDOM使用详解及实例(解析xml)...

    docx4j-3.3.7.jar fmath-mathml-java.jar jdom-2.0.6.jar

    标题和描述中提到的三个Java库文件——"docx4j-3.3.7.jar", "fmath-mathml-java.jar", 和 "jdom-2.0.6.jar",都是在Java开发环境中用于处理特定任务的重要组件。以下是关于这些库的详细解释: 1. **docx4j-3.3.7....

    JDOM操作XML文件.doc

    JDOM 是一种用于处理 XML 文档的 Java 库,它提供了简单、高效的 API,使得开发者可以方便地创建、修改和解析 XML 数据。JDOM 的设计目标是简化 XML 处理,对比于传统的 SAX 和 DOM 解析器,它具有更友好的编程模型...

    java操纵xml文件的读写,并根据xml生成树型菜单

    **知识点**: 上述代码展示了用于读写文件的基本Java类库(如`java.io.*`),以及用于处理XML的第三方库JDOM中的`SAXBuilder`等类。这些类是实现XML文件读写的基石。 ##### 2. 常量定义 ```java private static ...

    java xml API

    Java XML API是Java平台提供的一套用于处理XML(Extensible Markup Language)的接口和类库。XML是一种标记语言,常用于数据交换、配置文件、文档结构化存储等场景。Java XML API使得Java开发者能够轻松地读取、写入...

    jdom-2.0.3.rar

    总结起来,JDOM 2.0.3是一个强大且易用的XML处理工具,它简化了XML在Java应用程序中的使用,提高了开发效率。对于需要频繁处理XML的项目,集成JDOM是明智的选择。通过深入理解和熟练运用JDOM,开发者可以更好地驾驭...

    Java,XML和Web服务宝典

    另外,DOM4J和JDOM是流行的Java XML处理库,提供了丰富的API供开发者操作XML文档。 **Web服务的实现** 在Java中,使用JAX-WS(Java API for XML Web Services)或CXF框架可以创建和消费SOAP Web服务。对于RESTful...

    解析XML的四种JAR包jdom.jar、SAX.jar、dom4j.jar、dom.jar

    其优点是接口简单,易于学习,但缺点是内存占用较高,因为整个XML文档会被加载到内存中,不适合处理大型XML文件。 2. **SAX.jar**: Simple API for XML (SAX) 是一个事件驱动的解析器,它不将整个XML文档加载到...

    dom4j-jdom.rar

    XML文件的解析是开发过程中不可或缺的一部分,而DOM4J和JDOM正是Java世界中用于处理XML的两个重要库。本篇文章将详细介绍DOM4J和JDOM,以及如何利用它们来解析XML文件。 首先,DOM4J是Java中的一款强大的XML处理库...

    java用dom4j解析xml

    本节将深入探讨Java中解析XML的方法,特别是使用DOM4J库进行解析。 XML解析方法主要有四种:DOM(文档对象模型)、SAX(简单API for XML)、StAX(流式API for XML)以及DOM4J。每种方法都有其特定的优势和适用场景...

    jdom.jar dom4j.jar sax.jar

    JDOM的优势在于其对Java的紧密集成,使得开发者可以方便地利用Java的类库来处理XML。 2. dom4j.jar:DOM4J是一个非常灵活的开源Java XML API,它扩展了DOM,SAX和JDOM的功能,同时保持了低内存消耗和高性能。DOM4J...

    xml development with java technology

    进一步,作者深入探讨了Java中用于XML绑定的API,如JAXB(Java Architecture for XML Binding)和JDOM,它们允许将XML数据自动映射到Java对象,简化了数据的读写操作。此外,还介绍了SOAP(Simple Object Access ...

    Jdom与dom4j jar包下载

    `jdom.jar`文件就是包含JDOM库的Java类库,引入这个jar包到项目中,就可以使用JDOM提供的API进行XML操作。 接下来,DOM4J是另一个流行的XML处理库,它是基于DOM(Document Object Model)的一种扩展。DOM4J提供了一...

    XML个人信息管理系统(java)

    在Java中操作XML文件,首先需要了解Java API中的相关类库,如JDOM、DOM4J、Java DOM和SAX等。这些库提供了读取、写入和修改XML文档的方法。本系统可能采用了DOM或SAX解析器来处理XML文件,DOM将整个XML文档加载到...

    java源码包---java 源码 大量 实例

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

Global site tag (gtag.js) - Google Analytics