用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)));
分享到:
相关推荐
Java_XSLT转换XML是一种在Java环境中利用XSLT(Extensible Stylesheet Language Transformations)技术来转换XML文档的方法。XSLT是一种W3C标准,用于将XML文档转换成其他XML、HTML或文本格式,它通过使用样式表来...
在“双击XML浏览效果”这个描述中,可能是指一个特定的环境或工具,允许用户通过双击XML文件来快速预览经过XSLT转换后的HTML效果。 以下是一些关键知识点: 1. **XSLT模板**:XSLT使用模板匹配机制,定义了如何...
通过使用HTML标签,我们可以创建包含文本、图像、链接等元素的网页。在本实例中,XSLT被用来将XML数据转换为HTML,使得数据能在网页上以用户友好的方式呈现。 JavaScript是一种客户端脚本语言,广泛应用于网页开发...
它可以内联添加到HTML标签,或者在外部文件中引用。 4. **JavaScript**:HTML经常与JavaScript结合使用,通过脚本语言增强交互性和动态功能。 **XSLT与HTML的应用场景** 1. **数据交换**:XSLT可以用于不同系统间...
2. **XSLT编辑器**:同样提供编辑功能,支持编写和调试XSLT转换规则,通常有代码提示和语法高亮。 3. **实时预览**:在修改XML或XSLT时,可以实时查看转换结果,方便调试。 4. **调试工具**:包括步进执行、设置...
C#代码可以使用XslCompiledTransform类执行XSLT转换。这个过程包括加载XML文档,加载XSLT样式表,然后执行转换,最后将结果输出为字符串或写入文件。这种方法在服务器端处理XML数据时非常有用,例如,可以根据用户...
XML(eXtensible Markup ...尝试创建XML文档,编写XSLT转换,观察结果,不断调整和优化,这是掌握这两门技术的最佳途径。同时,了解相关工具,如XML编辑器、验证器和XSLT处理器,也能帮助你更高效地学习和工作。
**XML应用开发与XSLT转换** XML(Extensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。在XML应用开发中,XSLT(Extensible Stylesheet Language ...
这里,`wmlfile.wml`是源WML文件,`xsltfile.xsl`是XSLT转换样式表,`htmlfile.html`是输出的HTML文件。 在处理更复杂的WML文档时,你需要编写更多的XSLT模板来处理不同的WML元素,例如`<menu>`, `<go>`和`<input>`...
XSLT是用于转换XML文档的样式表语言,它的主要功能是将XML源文档转换成另一种XML格式,HTML或者纯文本等。通过XSLT,我们可以改变XML文档的结构、样式和布局,以满足不同的展示需求。XSLT基于XPath,因此理解XPath...
XML是一种标记语言,常用于存储结构化数据,而XSL则提供了将XML数据转换成其他格式,如HTML、PDF或文本的机制。在本案例中,我们讨论的主题是“XSL转换XML为HTML树显示”,这涉及到将XML数据以可交互的树状结构在...
- 使用XSLT,我们可以编写一个转换规则,将XML文档转换成HTML格式。这个过程可能涉及到数据的格式化、样式应用以及布局设计。 - 生成的HTML文件可以在浏览器中打开,用户可以看到并交互这些数据。 - 但是,如果我们...
JAXP提供了三个主要接口:DOM(Document Object Model)用于解析XML,SAX(Simple API for XML)用于事件驱动的XML解析,以及Transformer接口,用于执行XSLT转换。 XSLT转换过程通常包括以下步骤: 1. 解析XML源...
在实践操作中,我们可以使用XSLT编辑器或命令行工具(如Saxon、Xalan等)来运行和测试XSLT转换。开发过程中,调试和日志记录也非常重要,XSLT提供了如`<xsl:message>`这样的工具帮助开发者跟踪和解决问题。 总的来...
描述中提到的“通过后消息进行XSLT转换”可能是指在Web应用中,XSLT转换不是在前端完成,而是在服务器端处理XML数据,并将转换后的结果返回给客户端。这样可以避免在浏览器中执行复杂的XSLT转换,提高性能。另外,...
- XSLT是一种强大的工具,用于将XML文档转换成其他格式,如HTML、PDF等。 - 它基于XPath表达式来选择和操作XML数据,提供了一种灵活的方式来重新组织和格式化XML数据。 - XSLT支持条件逻辑和循环,但当逻辑变得...
1. XSLT转换:XSLT(Extensible Stylesheet Language Transformations)是一种强大的语言,专门用于转换XML文档。通过编写XSLT样式表,可以将XML数据转换为HTML格式。例如,可以定义模板匹配XML元素,并规定它们在...
XML文件用于存储和组织数据,而XSLT文件则提供了将这些数据转换成其他格式(如HTML、JSON等)的能力,这对于数据的展现、交换和分析至关重要。通过学习和掌握这两者,开发者可以更好地管理和操作结构化数据,提高...
总的来说,将.docx转换为HTML涉及到XML解析、XSLT转换以及可能的后期处理。这个过程对于需要在Web上共享或展示Word文档的用户来说非常实用。掌握这种方法不仅可以提高工作效率,还能确保内容在不同平台上的兼容性和...
另一方面,XSL(Extensible Stylesheet Language)是用来转换XML文档的样式表语言,尤其是XSLT(XSL Transformations),它是XSL的一部分,专门用于将XML数据转换成其他格式,如HTML、PDF或简单的文本。 XML转换XSL...