1、a.HTML;b.XML;c.txt;d.使用FO可以转为Excel和Pdf。
2、转换完毕其实你已经得到一个Xml字符串,你可以直接使用Parser解析它。或者不使用StreamResult直接得到DOMResult。

解决方案 »

  1.   

    楼上的第二个问题举个例子好吗?谢谢!
    还有一个问题:
    3。一个XML可以指定多个XSLT作为它的转换吗?如果可以要怎么实现?
      

  2.   

    3、使用不同的xslSource可以得到不同的Templates,进行不同的XSLT。
        /**
         * <P>按照指定的样式表转换XML为HTML。</P>
         * <P>需要自行处理输出结果时使用该函数。</P>
         * <P>输出结果输出到传入的result对象。</P>
         * @param xmlSource XML的Source对象
         * @param xslSource XSL的Source对象
         * @param result 输出结果
         * @param params xsl文件中的<xsl:param>
         * @return java.lang.String 无意义
         */
        private static final String transform( Source xmlSource, Source xslSource,
            Result result, Map params )
            throws Exception
        {
            TransformerFactory tFactory = TransformerFactory.newInstance(  );        //Transformer transformer = tFactory.newTransformer( xslSource );
            Templates   translet    = tFactory.newTemplates( xslSource );
            Transformer transformer = translet.newTransformer(  );        // 设置<xsl:param>标记的值
            if ( params != null )
            {
                for ( Iterator iterator = params.keySet(  )
                                                .iterator(  );
                        iterator.hasNext(  ); )
                {
                    String key = iterator.next(  )
                                         .toString(  );
                    String value = params.get( key )
                                         .toString(  );
                    transformer.setParameter( key, value );
                }
            }        transformer.transform( xmlSource, result );        return result.toString(  );
        }
        /**
         * 根据输入的XML文件路径建立相应的Source对象,用于XSLT转换。
         * @param xmlFilename XML文件路径
         * @return Source
         */
        private static final Source createSourceByFilename( String filename )
        {
            String xmlUri = "file:///" + new File( filename ).getAbsolutePath(  );        return new StreamSource( xmlUri );
        }
      

  3.   

    需要哪些包来做这些事情呢?SUN的JAXP或者APACHE的XALAN?可以举个例子吗?谢谢