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 ビルド b51g

4

1 に答える 1

0

あなたはグラスフィッシュサーバーでSaxonを使用しており、J2SEで実行する場合はおそらくXercesに組み込まれている標準を使用しています。グラスフィッシュのクラスパスにはサクソンがあり、それを削除できますか?

于 2012-03-15T11:54:13.357 に答える