CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

服务器端解析XML

楼主totodo(土豆仙)2003-12-04 01:33:57 在 Java / Web 开发 提问

<%@   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!  
   
   
  客户端解析是好的。。这个是什么异常,谢谢各位!  
  问题点数:200、回复次数:6Top

1 楼yoken(雨泉)回复于 2003-12-04 08:37:36 得分 100

用断点调试看出在哪行,另外我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"/>Top

2 楼yoken(雨泉)回复于 2003-12-04 08:38:55 得分 0

我用的是apache   xalanTop

3 楼Fzgta(蝈蝈)回复于 2003-12-04 09:50:10 得分 50

upTop

4 楼totodo(土豆仙)回复于 2003-12-04 19:54:25 得分 0

yoken(雨泉)    
   
  还是不行。。。。忽忽。我在顶Top

5 楼totodo(土豆仙)回复于 2003-12-05 18:21:48 得分 0

后来换了种方法,   ,对xml进行逻辑分割。哈哈,居然解决了。Top

6 楼yrne(不谈理想好多年)回复于 2003-12-05 18:51:33 得分 50

顶Top

相关问题

  • 急用,怎样在服务器端解析xml???
  • XML是在客户端解析还是在服务器端解析的,它的工作原理是什么样的?
  • 服务器端如何发送XML数据到客户端?
  • 关于XML在客户端和服务器端的处理??
  • winsock服务器端
  • 请问xml提交服务器端的问题?
  • 服务器端如何接受和发送XML数据??
  • asp.net如何在服务器端接收用xmlhttp传递过去的xml对象!
  • asp.net如何在服务器端接收用xmlhttp传递过去的xml对象!
  • 如何使客户端的Tabel通过xml得到服务器上的数据

关键词

  • db
  • document
  • xml
  • null
  • domsource
  • domresult
  • streamresult
  • dbf
  • transform
  • tf

得分解答快速导航

  • 帖主:totodo
  • yoken
  • Fzgta
  • yrne

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo