我们用一个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文档的位置,输出格式化好的文档。
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/10752043/viewspace-961940/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10752043/viewspace-961940/