【问题标题】:Transforming a StAX Source in Java在 Java 中转换 StAX 源
【发布时间】:2013-05-24 16:29:37
【问题描述】:

我有一些类似的代码:

XMLInputFactory xif = XMLInputFactory.newInstance()
TransformerFactory tf = TransformerFactory.newInstance("org.apache.xalan.processor.TransformerFactoryImpl", null)

Transformer t = tf.newTransformer()
DOMResult result = new DOMResult()
t.transform(new StAXSource(reader), result)

这会产生以下错误:

捕获:javax.xml.transform.TransformerException:无法转换 javax.xml.transform.stax.StAXSource 类型的源

阅读器对象的类型为com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl

【问题讨论】:

  • 所以这里的问题是我实际上应该使用org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl 类型的TransformerFactory。不幸的是,Eclipse 似乎没有为我提供这些。还值得注意的是 Eclipse 之外的类似代码按预期工作。

标签: java xml-parsing stax xalan


【解决方案1】:

所以我愚蠢地尝试了错误的事情。这修复了它:

System.setProperty("javax.xml.transform.TransformerFactory",
"com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 2012-12-05
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    相关资源
    最近更新 更多