【问题标题】:How to specify which stax parser to use如何指定要使用的 stax 解析器
【发布时间】:2011-07-02 08:36:21
【问题描述】:

我在类路径中有一个woodstox 和java SE 1.6 stax 解析器,但woodstox 似乎默认被选中。 但是在某些情况下,我想使用默认的 Java stax 解析器。有没有办法指定使用哪个实现?

【问题讨论】:

    标签: stax woodstox


    【解决方案1】:

    我遇到了类似的问题,我的本地 jboss 在路径中有woodstox,但远程服务器没有(或配置不正确)。所以我选择实例化参考实现:

            // Use BEA streaming parser to avoid runtime exceptions
            XMLOutputFactory xmlof = new XMLOutputFactoryBase();
    

    【讨论】:

      【解决方案2】:

      最简单的方法是直接实例化你想要的——不需要使用XMLInputFactory.newInstance();对于 Woodstox,您将实例化 com.ctc.wstx.stax.WstxInputFactory。对于 Sun 实现,它是其他东西(com.sun.sjsxp 等)——如果 Woodstox jar 不在类路径中时通过 Stax API 实例化它,您可以看到类名。

      但如果你绝对想使用间接,则使用系统属性“javax.xml.stream.XMLInputFactory”的值,根据 javadocs:value 是要实例化的类的名称。

      【讨论】:

        猜你喜欢
        • 2016-10-30
        • 2020-01-14
        • 2019-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-17
        • 2015-01-24
        相关资源
        最近更新 更多