使用JDOM处理XML数据之XSLT篇(二)

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

使用JDOM处理XML数据之XSLT篇(二)

我们用一个javabean来实现对XML文档的格式化。

XSLTFilter.java

package XML;

import java.io.*;

import java.util.*;

import org.jdom.*;

import org.jdom.output.*;

import org.jdom.transform.*;

import javax.xml.transform.*;

import javax.xml.transform.stream.*;

public class XSLTFilter {

private Document outputDoc;

private String stylesheetPath;

private Document doc=null;

public XSLTFilter() {}

public void setoutputDoc(Document s) {

this.outputDoc=s;

}

public void setStylePath(String s) {

this.stylesheetPath=s;

}

public void startFilter() {

try {

TransformerFactory myFactory = TransformerFactory.newInstance();

Transformer myTransformer = myFactory.newTransformer(new StreamSource(stylesheetPath));

JDOMResult result = new JDOMResult();

myTransformer.transform( new JDOMSource( outputDoc ), result );

doc = result.getDocument();

} catch (Exception e) {

System.out.println("Error was:" + e.getMessage());

}

}

public void destroy() {}

public Document getXmlDoc(){

return(doc);

}

}

这个javabean输入一个JDOM文档格式,输入一个XSLT文档的位置,输出格式化好的文档。

然后用一个jsp来调用这个javabean

<%@ page contentType="text/html; charset=gb2312" %>

<%@ page import="org.jdom.*" %>

<%@ page import="org.jdom.output.*" %>

<%@ page import="org.jdom.input.*" %>

<%@ page import="java.io.*" %>

<%@ page import="java.util.*" %>

<%@ page import="XML.*" %>

<%

String fileName="watchlist.xml";

String aa=getServletContext().getRealPath("/")+"jdom\\";

String trace=aa+fileName;

String styleName="watchlist.xsl";

String styleTrace=aa+styleName;

String resultName="aa.html";

String resultTrace=aa+resultName;

XML.readXML readXmlBean = new XML.readXML();

Document doc;

readXmlBean.readXML(trace);

doc=readXmlBean.getXmlDoc();

XML.XSLTFilter XSLTFilter =new XML.XSLTFilter();

XSLTFilter.setoutputDoc(doc);

XSLTFilter.setStylePath(styleTrace);

XSLTFilter.startFilter();

doc=XSLTFilter.getXmlDoc();

XML.writeXML writeXmlBean = new XML.writeXML();

writeXmlBean.writeXML(doc,resultTrace);

%>

文中用到的readXML和writeXML参见 :

http://www.csdn.net/Develop/read_article.asp?id=20720

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航