0

我正在研究将 xml 文件转换为 ICML 的方法,因此我使用 XSL 文件解析 XML 文件。使用 javax.xml.transform.Transformer 变压器。

        File xmlSourceFile = new File("f:/xmlSource.html");
        javax.xml.transform.Source xmlSource = new  javax.xml.transform.stream.StreamSource(xmlSourceFile);

        File xsltSourceFile = new File("f:/xstlSource.xsl");
        javax.xml.transform.Source xsltSource = new javax.xml.transform.stream.StreamSource(xsltSourceFile);

        File resultFile = new File("f:/result.icml");
        fw = new FileWriter(resultFile); 

        javax.xml.transform.Result result = new javax.xml.transform.stream.StreamResult(fw);

        javax.xml.transform.TransformerFactory transFact = javax.xml.transform.TransformerFactory.newInstance();

        javax.xml.transform.Transformer transformer = transFact.newTransformer(xsltSource);
        transformer.transform(xmlSource, result);

此代码在任何 Java SE 项目上都可以正常工作,但是每当我尝试将它与 Web 项目一起使用时,在部署时都会出现此错误:

Digester.getParser:
            javax.xml.parsers.ParserConfigurationException: AElfred parser is namespace-aware
                at com.icl.saxon.aelfred.SAXParserFactoryImpl.newSAXParser(SAXParserFactoryImpl.java:37)

所以,如果有人能帮助我解决这个错误,那就太好了。

我正在使用:NetBeans 7.1 GlassFish v2 build b51g

4

1 回答 1

0

您在 glassfish 服务器上使用 Saxon,并且可能是在 J2SE 中运行时内置在 Xerces 中的标准。glassfish 的类路径中是否包含撒克逊语,您可以将其删除吗?

于 2012-03-15T11:54:13.357 回答