用xalan转化时的问题:
这是网上的示例代码:
String xsltPath="C:\\XTX.xsl";
String xmlPath="C:\\76552.xml";
String htmlPath="C:\\Users\\Administrator\\Desktop\\654.html";
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer =
tFactory.newTransformer
(new javax.xml.transform.stream.StreamSource
(xsltPath));
transformer.transform
(new javax.xml.transform.stream.StreamSource
(xmlPath),
new javax.xml.transform.stream.StreamResult
( new FileOutputStream(htmlPath)));
因为原xml文档中定义的命名空间,而xsl模板中没有引用该空间,所以<xsl:choose><xsl:when>里的xpath都没有识别,结果生成的html是一大坨不带标签的纯文本。
但是用struts的action可以成功转换,像这样:
<action name="reportDisplay" class="com.ReportAction">
<result name="S005" type="xslt">
<param name="stylesheetLocation">/WEB-INF/webpage/xsl/BC.xsl</param>
<param name="exposedValue">report</param>
</result>
</action>
因为struts是用DOMSource去转化的,解决如下:
String xsltPath="C:\\XTX.xsl";
String xmlPath="C:\\76552.xml";
String htmlPath="C:\\Users\\Administrator\\Desktop\\654.html";
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.parse(new File(xmlPath));
document.normalize();
DOMSource source=new DOMSource(document);
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer
(new javax.xml.transform.stream.StreamSource
(xsltPath));
transformer.transform(source, new javax.xml.transform.stream.StreamResult(
new FileOutputStream(htmlPath)));
分享到:
相关推荐
利用xslt将wml转换为html
18.5.2 实例二:[tohtml]标签 559 18.6 [jsp:invoke]动作元素 561 18.7 [jsp:dobody]动作元素 562 18.8 小结 562 第4部分 应用篇 第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 ...
18.5.2 实例二:[tohtml]标签 559 18.6 [jsp:invoke]动作元素 561 18.7 [jsp:dobody]动作元素 562 18.8 小结 562 第4部分 应用篇 第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 ...
18.5.2 实例二:[tohtml]标签 559 18.6 [jsp:invoke]动作元素 561 18.7 [jsp:dobody]动作元素 562 18.8 小结 562 第4部分 应用篇 第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 ...
18.5.2 实例二:[tohtml]标签 559 18.6 [jsp:invoke]动作元素 561 18.7 [jsp:dobody]动作元素 562 18.8 小结 562 第4部分 应用篇 第19章 使用log4j进行日志操作 564 19.1 log4j介绍 564 19.1.1 logger组件 ...
动易标签说明 信息概览 调用范例 参数细目 查询语句 转换模板 附加信息 图片一列式栏目上下循环 标签名称: 图片一列式栏目上下循环 调用标签名: {PE.Label id="图片一列式栏目上下循环"/} 数据源调用标签名: {...
将填写好的表单转换为 XML。 XML 模式包含大量关于 XML 结构中允许使用哪些数据以及用户界面应该如何呈现的信息。 HTML5 支持许多与 XML 模式兼容的新输入类型和属性。 XSD2HTML2XML 使从 XML 模式生成表单并在用户...
支持使用额外配置的XSLT文件进行XSLT代码,用于根据设计样式来自动生成任意样式的代码,本程序附带的XSLT模板支持生成HTML预览页面。 支持VBA.NET脚本语言,可以使用脚本来访问设计文档和设计器主窗体。
Oxygen XML Editor 是一款基于Java的XML编辑器,支持XML, XSL, TXT, XSD, DTD文档,能自行校验XML, XSL, XSD代码,...强大的转换支持让你不仅能编辑XSLT和XSL-FO文档,也能把它们转换成为你想要的如HTML/PS/PDF等文件。
DoctorNinja 是一个库,可以像忍者一样将 word 文档转换为 html 文件。 为什么是忍者博士? 嗯,名字很简单, Doctor来自Doc (.docx), Ninja来自我们的第一个 MVP (Ninja das Dúvidas)。 特征 转换图像并应用...
JSP允许Java代码和HTML标签混杂在一起以简化页面的编辑工作,所有的改动无需重新进行编译:某个页面修改后,将在第一次被调用时自动编译。JSP里的Java代码段称为scrilmlet。 允许Java代码乘HTML混杂在一起的办法乍看...
9.6.2基于XSLT样式表的XML文档显示... 346 9.6.3基于数据岛的XML文档显示... 354 9.6.4 基于javascript的XML文档显示... 357 9.7 习题... 358 第10章 Ajax编程... 360 10.1 Ajax的概述... 360 10.2 ASP.NET ...
基于web标签的 html+css ...使用XML和XSLT(是一种用于将XML 文档 转换任意文本的描述语言)进行数据的交换和操作 使用XMLHttpRequest进行异步的数据查询和检索等操作 XML语法和文件操作 XML文件的规则和特点
XSLT,是用于对XML进行文档格式转换,把一个XML文档转换成另一种格式的XML文档,但是其中内容是不变的。 &2.DTD(Document Type Difinition DTD文档是用于规定XML文档的结构。只有结构符合所引用的DTD文件的XML文件...
工作原理您的通讯录(XML文件)在Web浏览器中(通过XSLT)转换为功能全面的Web应用程序(HTML)。 要求可在线或离线查看的Web浏览器(建议使用Firefox; Chrome之类的浏览器需要一个小的命令行参数才能离线查看);...