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(); } } ?