服务器端解析XML

老土豆T 2003-12-04 01:33:57
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="org.w3c.dom.*" %>
<%@ page import="javax.xml.parsers.*"%>
<%@ page import="java.io.*"%>
<%@ page import="javax.xml.transform.*"%>
<%@ page import="javax.xml.transform.stream.*"%>
<%
StringReader reader=new StringReader("ZCML.xml");
StreamSource xml = new StreamSource(reader);

String path = application.getRealPath("/xtsd/zcml/xml/XmlRes");
System.out.println(path);
StreamSource xsl = new StreamSource(path+"/XMLSelTree.xsl");
StreamResult result = new StreamResult(out);
TransformerFactory tFactory = TransformerFactory.newInstance();
Templates templates = tFactory.newTemplates(xsl);
Transformer trans = templates.newTransformer();
trans.setOutputProperty(OutputKeys.ENCODING,"GB2312");
trans.setOutputProperty(OutputKeys.METHOD,"html");
trans.setOutputProperty(OutputKeys.VERSION,"4.0");
trans.transform(xml, result);

%>

抛出 一个 org.apache.jasper.JasperException: The output format must have a '{http://xml.apache.org/xalan}content-handler' property!


客户端解析是好的。。这个是什么异常,谢谢各位!
...全文
128 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yrne 2003-12-05
  • 打赏
  • 举报
回复
老土豆T 2003-12-05
  • 打赏
  • 举报
回复
后来换了种方法, ,对xml进行逻辑分割。哈哈,居然解决了。
蝈蝈太阳 2003-12-04
  • 打赏
  • 举报
回复
up
yoken 2003-12-04
  • 打赏
  • 举报
回复
我用的是apache xalan
yoken 2003-12-04
  • 打赏
  • 举报
回复
用断点调试看出在哪行,另外我xslt如下
public class XmlTools {
private DocumentBuilder db;
private DocumentBuilder db2;
private TransformerFactory tf;
private Transformer transformer;
private DOMSource domSource;
private DOMSource domSource2;
private DOMResult domResult;
private StreamResult streamResult;

public XmlTools() throws Exception {
dbf = DocumentBuilderFactory.newInstance();
db = dbf.newDocumentBuilder();
dbf.setNamespaceAware(true);
db2 = dbf.newDocumentBuilder();
dbf.setNamespaceAware(false);

tf = TransformerFactory.newInstance();
transformer = tf.newTransformer();

transformer.setOutputProperty("encoding", "gb2312");

domSource = new DOMSource();
domSource2 = new DOMSource();
domResult = new DOMResult();
streamResult = new StreamResult();
}

public Document transform(Document xmlDoc, Document xslDoc) {
if (xmlDoc == null || xslDoc == null) {
return null;
}
Document resultDoc = null;
try {
domSource2.setNode(xslDoc);
Transformer transformer = tf.newTransformer(domSource2);

domSource.setNode(xmlDoc);
domResult.setNode(null);
transformer.transform(domSource, domResult);
resultDoc = (Document) domResult.getNode();
} catch (Exception e) {
e.printStackTrace();
resultDoc = null;
}
return resultDoc;
}
}

可将trans.setOutputProperty(OutputKeys.METHOD,"html");
trans.setOutputProperty(OutputKeys.VERSION,"4.0");放在xsl文件里:
<xsl:output method="html" version="4.0"/>
老土豆T 2003-12-04
  • 打赏
  • 举报
回复
yoken(雨泉)

还是不行。。。。忽忽。我在顶
内容概要:本文档系统讲解了创意版烟花的完整实现路径,从粒子系统原理出发,深入剖析烟花效果的五大核心阶段——上升、爆炸、扩散、衰减与拖尾,并基于四种技术栈(HTML5 Canvas、Three.js、Python Pygame、AI音乐节拍同步)提供可运行的完整代码方案。文档涵盖基础实现、视觉增强(形状变化、闪烁、二次爆炸)、交互升级(鼠标拖动、手势控制)、性能优化(对象池、渲染优化)、部署上线(GitHub Pages、Vercel)及创意拓展(文字烟花、数据可视化、协同互动),形成“原理→编码→调优→部署→创新”的闭环学习链路。同时融入Web Audio API节拍检测、滑动窗口动态阈值等实用算法,助力开发者打造兼具美观性与技术深度的动态视觉作品。; 适合人群:具备基础编程能力的前端开发者、Python爱好者、多媒体交互设计人员,以及希望提升图形编程与动效设计能力的工作1-3年研发人员;也适用于教学演示、作品集建设或创意项目原型开发。; 使用场景及目标:①掌握粒子系统在动画与游戏开发中的底层实现机制;②实现网页端与桌面端的高性能烟花特效;③构建音乐可视化、数据艺术、互动装置等融合型项目;④学习从代码实现到线上部署的全流程工程实践。; 阅读建议:建议按照“Canvas基础→进阶优化→3D/Pygame/AI扩展”的路径逐步实践,重点关注参数调优表与性能优化策略,在调试中理解每行代码的作用;对于音乐同步等复杂功能,可先运行成功案例再深入算法逻辑,结合实际项目需求灵活组合各项技术模块。

81,109

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧