`
wangcaiwq
  • 浏览: 7404 次
文章分类
社区版块
存档分类
最新评论

xslt转换成html后没有html标签

 
阅读更多

用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)));






分享到:
评论

相关推荐

    wml转换为html

    利用xslt将wml转换为html

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    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组件 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    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组件 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    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组件 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    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="图片一列式栏目上下循环"/} 数据源调用标签名: {...

    xalanjava源码-xsd2html2xml:从XML模式(XSD)生成纯HTML5表单。将填写好的表格转换为XML

    将填写好的表单转换为 XML。 XML 模式包含大量关于 XML 结构中允许使用哪些数据以及用户界面应该如何呈现的信息。 HTML5 支持许多与 XML 模式兼容的新输入类型和属性。 XSD2HTML2XML 使从 XML 模式生成表单并在用户...

    xhtmldesigner.rar

    支持使用额外配置的XSLT文件进行XSLT代码,用于根据设计样式来自动生成任意样式的代码,本程序附带的XSLT模板支持生成HTML预览页面。 支持VBA.NET脚本语言,可以使用脚本来访问设计文档和设计器主窗体。

    Oxygen XML Editor 20.1.2018080903 XML编辑器

    Oxygen XML Editor 是一款基于Java的XML编辑器,支持XML, XSL, TXT, XSD, DTD文档,能自行校验XML, XSL, XSD代码,...强大的转换支持让你不仅能编辑XSLT和XSL-FO文档,也能把它们转换成为你想要的如HTML/PS/PDF等文件。

    doctor_ninja:DoctorNinja 是一个库,可以像忍者一样将 word 文档转换为 html 文件

    DoctorNinja 是一个库,可以像忍者一样将 word 文档转换为 html 文件。 为什么是忍者博士? 嗯,名字很简单, Doctor来自Doc (.docx), Ninja来自我们的第一个 MVP (Ninja das Dúvidas)。 特征 转换图像并应用...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    JSP允许Java代码和HTML标签混杂在一起以简化页面的编辑工作,所有的改动无需重新进行编译:某个页面修改后,将在第一次被调用时自动编译。JSP里的Java代码段称为scrilmlet。 允许Java代码乘HTML混杂在一起的办法乍看...

    Web系统与技术 课程教材

    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 ...

    介绍Ajax、Xml语法和文件操作.pdf

    基于web标签的 html+css ...使用XML和XSLT(是一种用于将XML 文档 转换任意文本的描述语言)进行数据的交换和操作 使用XMLHttpRequest进行异步的数据查询和检索等操作 XML语法和文件操作 XML文件的规则和特点

    xml入门教程/xml入门教程

    XSLT,是用于对XML进行文档格式转换,把一个XML文档转换成另一种格式的XML文档,但是其中内容是不变的。 &2.DTD(Document Type Difinition DTD文档是用于规定XML文档的结构。只有结构符合所引用的DTD文件的XML文件...

    adx - addressbook.xml:Web浏览器中的简约通讯录。 无需服务器或插件。-开源

    工作原理您的通讯录(XML文件)在Web浏览器中(通过XSLT)转换为功能全面的Web应用程序(HTML)。 要求可在线或离线查看的Web浏览器(建议使用Firefox; Chrome之类的浏览器需要一个小的命令行参数才能离线查看);...

Global site tag (gtag.js) - Google Analytics