java html转换xml文件,使用Java在HTML中转换XML + XSL
我们将数据作为XML使用,并且存在多种格式化XSL样式。在IE中它一直工作得很好。使用Java在HTML中转换XML + XSL
然后,我们需要在Chrome中显示与HTML相同的内容。所以,我们在服务器端(Java)找到一个API来将XML + XSL转换为HTML。
public static String convertXMLXSL(String xml, String xsl) throws SQLException {
System.setProperty("javax.xml.transform.TransformerFactory", "org.apache.xalan.processor.TransformerFactoryImpl");
TransformerFactory tFactory = TransformerFactory.newInstance();
String html = "";
try {
try {
StreamResult result = new StreamResult(new StringWriter());
**Transformer trans = tFactory.newTransformer(new StreamSource(new ByteArrayInputStream(xsl.getBytes("utf-8"))));
trans.transform(new StreamSource(new ByteArrayInputStream(xml.getBytes("utf-8"))), result);**
html = result.getWriter().toString();
} catch (TransformerException te) {
te.printStackTrace();
}
} catch (Exception e) {
AppendExceptionToLog(e);
}
return html;
}
但是,现在后的某个时间,我们看到被封锁在trasform的javax.xml.transform.Transformer中的方法
Sep 12, 2017 12:07:49 PM org.apache.catalina.valves.StuckThreadDetectionValve notifyStuckThreadDetected
WARNING: Thread "http-8080-12" (id=15800) has been active for 6,516 milliseconds (since 9/12/17 12:07 PM) to serve the same request for
and may be stuck (configured threshold for this StuckThreadDetectionValve is 5 seconds).
There is/are 3 thread(s) in total that are monitored by this Valve and may be stuck.
java.lang.Throwable
at org.apache.xpath.axes.AxesWalker.getNextNode(AxesWalker.java:333)
at org.apache.xpath.axes.AxesWalker.nextNode(AxesWalker.java:361)
at org.apache.xpath.axes.WalkingIterator.nextNode(WalkingIterator.java:192)
at org.apache.xpath.axes.NodeSequence.nextNode(NodeSequence.java:281)
at org.apache.xpath.axes.NodeSequence.runTo(NodeSequence.java:435)
at org.apache.xpath.axes.NodeSequence.setRoot(NodeSequence.java:218)
at org.apache.xpath.axes.LocPathIterator.execute(LocPathIterator.java:210)
at org.apache.xpath.XPath.execute(XPath.java:335)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:278)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:246)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2281)
at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1367)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:709)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1284)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1262)
at Util.processXMLXSL(Util.java:3364)
这里是一些线程转储,我想知道。
1)我们有没有其他已知的实现在服务器端做同样的事情?
2)我应该考虑使用客户端方法使用Mozilla的XSLTProcessor?
+0
时是否与输入XML独立运行XSL提供正确的HTML输出,说在Eclipse IDE? –
+0
问题不在于输出。它与代码所花费的时间。 –
java html转换xml文件,使用Java在HTML中转换XML + XSL相关推荐
- 【sql的mapper.xml文件】完美去除idea中mapper.xml文件中的黄色绿色背景色
文章目录 完美去除idea中mapper.xml文件中的背景色 换主题颜色 1.settings->Editor->Inspection 2.Editor->Color Scheme ...
- java xml 反射_Java 读取XML文件以及Java 的反射机制实现
Java 读取XML文件以及Java 的反射机制实现 代码部分 import java.io.File; import javax.xml.parsers.DocumentBuilder; impor ...
- XMLReader—一个可以读取XML文件的java类
在我的博文java ArrayList代替数组中有个XMLReader类,这是一个可以读取XML文件的java类,它的实现过程是怎样的呢?接下来让我们看看XMLReader的实现过程: 首先你要下载一 ...
- XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML
XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...
- Android -- 创建XML文件对象及其序列化, pull解析XML文件
1. 创建XML文件对象及其序列化 示例代码:(模拟以xml格式备份短信到SD卡) SmsInfo.java, bean对象 /*** 短信的业务bean* @author Administrator ...
- 将.ai文件矢量图转化为.xml文件并在Android项目中使用
写在前面的话 笔者最近在做一个安卓的小项目,在开发的过程中,发现经常需要使用图标类的矢量图.下面我将详细叙述如何将从网络上下载的ai文件内的图标转化为xml文件并在Android项目中使用该图标. 使 ...
- android 表格xml,【Android】利用表格布局,Android中xml文件与java的交互制作登录界面...
登录界面是图形编程.网页编程的一个经典而又基础的程序. 在安卓中,如图所示一个基本登录界面: 点击取消按钮就关闭这个程序,点击登录按钮则显示用户输入的用户名与密码. 一.基本布局 这个程序利用到安卓中 ...
- Java使用ftl模板文件生成Word,以及Word转换图片或Pdf工具类
Java使用ftl模板文件生成Word 一.写在前面 最近在项目中使用打印功能,发现这个功能我已经写过多次了,下面这个文章的发步日期在2020年,不得不感慨时间之快啊. https://blog.cs ...
- java获取标准输出到文件_IO java标准输入与输出
1.文件输出流 (java IO简介) /*** java io 标准的输入与输出 * 使用java IO我们可以对外界设备已相同的方式进行 * 读写完成数据交换. * * java IO将" ...
最新文章
- 爱立信思科结盟背后:几家欢喜几家愁
- 递归循环子组件_算法一看就懂之「 递归 」
- RabbitMQ配置环境变量后启动不了的解决方法
- 手把手教你安装VMtools
- c语言创建新指针,如何用c语言创建一个指针
- oracle数据库定时同步工具,[每天自动同步一个数据库表的数据]sql server定时同步oracle数据表...
- 第 197 章 Unity
- git依赖python_python爬虫之git的安装
- java 面向对象 重载_Java方法重载
- java 直播_一对一直播源码开发过程中区分Java和PHP的重要性
- HBase 管理,性能调优
- bzoj 4514: [Sdoi2016]数字配对(二分图+费用最大流)
- Thinkphp双轨直销系统源码
- 华为手机热点无法连接_华为手机开热点,连不上怎么破
- python 回调函数的使用_Python回调函数用法实例详解
- java 继承 序列化_Java中带继承的对象序列化 - Break易站
- Mac添加Windows共享打印机
- 【升级pip;查看pip版本】
- Edge浏览器如何清除缓存
- dnspod java_使用dnspod遭遇的奇特问题以及背后的原因与临时解决方法
热门文章
- sql ddl中key_SQL DDL:SQL Server中SQL DDL命令入门
- alwayson高可用组_AlwaysOn可用性组–如何在集群实例和独立实例之间设置AG(第2部分)
- 获取移除指定Url参数(原创)
- Mac 显示sudo: pip: command not found
- HTML5的音频播放和视频播放
- linux android开发环境搭建
- Unity3D优化总结(一)
- 建立一个Windows Phone 7益智游戏 附源代码
- smart client auto update
- mysql 中ak_数据库ak