打印本文 打印本文 关闭窗口 关闭窗口
关于JAXP,DOM,SAX,JDOM,DOM4J的一些想法
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2520  更新时间:2009/4/23 10:51:04  文章录入:mintao  责任编辑:mintao
3.JDOM使用,生成Document内容并保存到XML文件。
import org.jdom.Element;

import org.jdom.Document;//和Import org.w3c.dom.Document对比一下。一个是JAXP的一个是JDOM的Document

import org.jdom.output.XMLOutputter;
 

Element root = Element(“orders”);

root.addContent(“ ”);

org.jdom.Document document = new Document(root);//创建JDOM树。

 

FileOutputStream outStream = new FileOutputStream(XMLFileName);

XMLOutputter outToFile = new XMLOutputter();

outToFile.output(document,outStream);

outStream.flush();

outStream.close();

 

jdom应用程序 -> jdom API -> Xerces/Crimson解析器
VS
JAXP应用程序 -> JAXP接口 -> Xerces DOM实现 -> Xerces DOM/SAX 解析器
 

这里的没有Transform的过程,直接把Document的内容存到XML中。没有XSL转化,没有XSL文件。

JDOM提供了几种输出方法。这里XMLOutputter是保存到文件,输出一个实际的XML流。还有DOMOutputter,在内存中创建一个传统的DOM树。还有SAXOutputter,创建一串SAX事件以便被其他对象读取。

 
 
4.JDOM使用,读取已有的XML然后生成Document,修改Document
import org.jdom.Element;

import org.jdom.Document;

import org.jdom.output.XMLOutputter;
   import org.jdom.input.SAXBuilder;
 
   SAXBuilder builder = new SAXBuilder();
   Document document = builder.build(XMLFileName);
 

Element order = Element(“orders”);

orders.addAttribute(“order_id”,session_id);

Element root = document.getRootElement();//root是已经存在的根元素。

Root.addContent(order);//在根元素里增加orders元素。

 

//把document保存到文件中。

FileOutputStream outStream = new FileOutputStream(XMLFileName);

XMLOutputter outToFile = new XMLOutputter();

outToFile.output(document,outStream);

outStream.flush();

outStream.close();

 

 

即使创建一个DOM式的结构,这里仍使用SAXBuilder来做这这件事情。

DOMBuilder和SAXBuilder中的”DOM”和”SAX”指的是用于建立文档的方法,而不是生成的内容。

 
 
5.XSL转换,能把DOM对象转化成输出,也可以向上面所举例的把XMLFileName的流转化成输出的流(文件或屏幕显示)。但是不能把JDOM对象转化,所以需要把JDOM转化成DOM对象,然后再输出。
import org.jdom.Element;

import org.jdom.Document;

import org.jdom.output.XMLOutputter;
   import org.jdom.input.SAXBuilder;   
   //XSL转化需要的包
 import org.jdom.output.DOMOutputter;//对比org.jdom.output.XMLOutputter;

 Import javax.xml.transform.TransformerFactory;

Import javax.xml.transform.Transformer;

Import javax.xml.transform.DOMSource;//对比Import javax.xml.stream.StreamSource;

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口