/**
* 将xml文件按照xslt格式转化为一个JDOM Document.
* @param xmlFile
* @param xsltFile
* @throw JDOMException
* @return Document
*/
private void transformXml(String xmlFile, String xsltFile) throws JDOMException {
String xmlf = null;
String xsltf = null; xmlf = xmlFile;
xsltf = xsltFile;
JDOMResult out;
try {
SAXBuilder builder = new SAXBuilder();
Document in = builder.build(xmlf);
Transformer transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(xsltf));
out = new JDOMResult();
transformer.transform(new JDOMSource(in),out);
out.getDocument();
}
catch(TransformerException tfe) {
throw new JDOMException("XSLT Trandformation failed", tfe);
}
}
* 将xml文件按照xslt格式转化为一个JDOM Document.
* @param xmlFile
* @param xsltFile
* @throw JDOMException
* @return Document
*/
private void transformXml(String xmlFile, String xsltFile) throws JDOMException {
String xmlf = null;
String xsltf = null; xmlf = xmlFile;
xsltf = xsltFile;
JDOMResult out;
try {
SAXBuilder builder = new SAXBuilder();
Document in = builder.build(xmlf);
Transformer transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(xsltf));
out = new JDOMResult();
transformer.transform(new JDOMSource(in),out);
out.getDocument();
}
catch(TransformerException tfe) {
throw new JDOMException("XSLT Trandformation failed", tfe);
}
}
解决方案 »
- myeclipse如何安装freemarker插件
- struts2 上传文件得到的是.tmp 怎么得到原有文件名
- 熟悉gsoap的朋友帮帮忙啊。。
- [Microsoft]{ODBC驱动程序管理器]无效的游标状..
- 大家谁有过滤手机号 QQ号的JAVA代码吗
- Hibernate保存关联表的问题
- Java中2组数据拼接成数组的问题
- activemq如何实现多个生产者一个消费者?
- JDBC 连接SQL Server 2000数据库错误,解决了马上给分
- [高分求助]急问:eclipse+jboss+Myclipse中ejblookup问题,???
- 请指点一下如何通过URL重写来保护页面?
- 为什么JAVA为home接口和ejb接口能生成class?
throws JDOMException {
try {
Transformer transformer = TransformerFactory.newInstance()
.newTransformer(new StreamSource(stylesheet));
JDOMResult out = new JDOMResult();
transformer.transform(new JDOMSource(in), out);
return out.getResult();
}
catch (TransformerException e) {
throw new JDOMException("XSLT Trandformation failed", e);
}
}
.newTransformer(new StreamSource(stylesheet));要import什么包?
源文件 除了源码,还有一个lib, 除了ant 差不多就是所有相关的包了
jaxp
教我怎么做
在看看jdom 就可以了
jdom不是万能的。
中转换正常的xsl,在这段程序中转化后不正常的输出。。 Transformer transformer = TransformerFactory.newInstance().newTransformer(new StreamSource("E:\\CONFIG.xslt"));
JDOMSource jdomSource = new JDOMSource(doc);
JDOMResult jdomResult = new JDOMResult();
transformer.transform(jdomSource,jdomResult); Document doc2 = jdomResult.getDocument();
outputter.output(doc2,System.out);
========================================
=============== xsl =====================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:template match="/">
<html>
<head/>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="Config">
<xsl:if test="position()=1">
<xsl:text disable-output-escaping="yes"><table border="1"></xsl:text>
</xsl:if>
<xsl:if test="position()=1">
<thead>
<tr>
<td>Id</td>
<td>DriverName</td>
<td>ConnectionURL</td>
<td>UserName</td>
<td>UserPassword</td>
</tr>
</thead>
</xsl:if>
<xsl:if test="position()=1">
<xsl:text disable-output-escaping="yes"><tbody></xsl:text>
</xsl:if>
<tr>
<td>
<xsl:for-each select="@Id">
<input>
<xsl:attribute name="value"><xsl:value-of select="." /></xsl:attribute>
</input>
</xsl:for-each>
</td>
<td>
<xsl:for-each select="DriverName">
<input>
<xsl:attribute name="value"><xsl:value-of select="." /></xsl:attribute>
</input>
</xsl:for-each>
</td>
<td>
<xsl:for-each select="ConnectionURL">
<input>
<xsl:attribute name="value"><xsl:value-of select="." /></xsl:attribute>
</input>
</xsl:for-each>
</td>
<td>
<xsl:for-each select="UserName">
<input>
<xsl:attribute name="value"><xsl:value-of select="." /></xsl:attribute>
</input>
</xsl:for-each>
</td>
<td>
<xsl:for-each select="UserPassword">
<input>
<xsl:attribute name="value"><xsl:value-of select="." /></xsl:attribute>
</input>
</xsl:for-each>
</td>
</tr>
<xsl:if test="position()=last()">
<xsl:text disable-output-escaping="yes"></tbody></xsl:text>
</xsl:if>
<xsl:if test="position()=last()">
<xsl:text disable-output-escaping="yes"></table></xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
==============================================================================
============ 正常输出=======================================
<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><head /><body>
<META http-equiv="Content-Type" content="text/html; charset=UTF-16">
<table border="1">
<thead><tr><td>Id</td><td>DriverName</td><td>ConnectionURL</td><td>UserName</td><td>UserPassword</td>
</tr>
</thead><tbody><tr>
<td><input value="SqlServer"></td>
<td><input value="com.microsoft.jdbc.sqlserver.SQLServerDriver"></td>
<td><input value="jdbc:microsoft:sqlserver://127.0.0.1:1433"></td>
<td><input value="UserName"></td>
<td><input value="UserPassword"></td>
</tr>
<tr>
<td><input value="Access"></td>
<td><input value="jdbc.odbc.JdbcOdbcDriver"></td>
<td><input value="c:\demo.mdb"></td>
<td><input value="UserName"></td>
<td><input value="UserPassword"></td>
</tr></tbody></table></body></html>===========================================================================
==============================不正常输出
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><head /><body>
<tr><td><input value="SqlServer" /></td><td><input value="com.microsoft.jdbc.sqlserver.SQLServerDriver" /></td><td><input value="jdbc:microsoft:sqlserver://127.0.0.1:1433" /></td><td><input value="UserName" /></td><td><input value="UserPassword" /></td></tr>
<tr><td><input value="Access" /></td><td><input value="jdbc.odbc.JdbcOdbcDriver" /></td><td><input value="c:\demo.mdb" /></td><td><input value="UserName" /></td><td><input value="UserPassword" /></td></tr>
<tr><td><input value="debug" /></td><td><input value="" /></td><td /><td><input value="" /></td><td><input value="" /></td></tr><?javax.xml.transform.disable-output-escaping?></tbody><?javax.xml.transform.enable-output-escaping?><?javax.xml.transform.disable-output-escaping?></table><?javax.xml.transform.enable-output-escaping?></body></html>=======================================================================
=============================== 原因在于有些实体没有转换
如: <
我应该怎么做?