ITPub博客

首页 > 应用开发 > IT综合 > 使用JDOM处理XML数据之XSLT篇(二) (转)

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

原创 IT综合 作者:amyz 时间:2007-11-25 10:57:59 0 删除 编辑
使用JDOM处理XML数据之XSLT篇(二) (转)[@more@]

  使用Jdom处理XML数据之xslT篇(二)

 

我们用一个Javabean来实现对XML文档的格式化。microsoft-com:Office:office" />

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


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752019/viewspace-984598/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3984
  • 访问量
    7361718