重写Xerces实现以通过XMLInputFactory创建XMLEventReader

时间:2013-06-06 07:29:22

标签: java xml xerces stax

Java附带的Xerces版本有bug when dealing with empty XML elements for XML version 1.1 input。这个bug早已在Apache的Xerces版本中得到修复(自2.6.2起)。

我想通过XMLInputFactory接口创建一个XMLEventReader。像这样:

XMLInputFactory.newFactory().createXMLEventReader(new FileInputStream(inputFile));

简单地将Xerces jar放入类路径似乎不适用于此。事实上,我没有看到Apaches Xerces发布扩展XMLInputFactory,这似乎是创建特定于实现的输入工厂的先决条件。

有没有办法强制XMLInputFactory.newFactory使用类路径中的Apaches Xerces版本?

1 个答案:

答案 0 :(得分:-1)

尝试

    <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.11.0</version>
    </dependency>

此版本包含StAX,它将自动覆盖默认的StAX impl,使用jar服务提供商机制