编程语言
首页 > 编程语言> > java-使用STaX解析多个XML片段

java-使用STaX解析多个XML片段

作者:互联网

我希望以下内容可以在StAX中解析,

<something a="b"/>
<something a="b"/>

但是,当您到达第二个元素时,它会窒息.由于没有共同的根元素. (我不太确定为什么拉解析器会关心这个特定问题……无论如何……)

我可以伪造根元素,例如番石榴

    InputSupplier<Reader> join = CharStreams.join(
            newReaderSupplier("<root>"),
            newReaderSupplier(new File("...")),
            newReaderSupplier("</root>"));

    XMLInputFactory xif = XMLInputFactory.newInstance();
    XMLStreamReader xsr = xif.createXMLStreamReader(join.getInput());
    xsr.nextTag();  // Skip the fake root

所以我的问题是:有什么办法可以避免这种入侵?我可以将解析器放入的某些“碎片”模式?

解决方法:

不. StAX API不支持片段.一个XMLStreamReader恰好适合一个XML文档.但是,您的“ hack”一点也不坏…

标签:stax,xml,java,xml-parsing
来源: https://codeday.me/bug/20191101/1984246.html