我使用woodstox读取xml文件,但是当读取的元素为CDATA时,库没有通知我这个问题。有人可以帮我吗?这是我的代码,我想了解错误在哪里。

    XMLInputFactory2 factory = new WstxInputFactory();
    if (factory.isPropertySupported(XMLInputFactory2.P_REPORT_CDATA)) {
        factory.setProperty(XMLInputFactory2.P_REPORT_CDATA, Boolean.TRUE);
    }
    FileReader toRead = new FileReader(source);
    XMLStreamReader2 streamReader =XMLStreamReader2)factory.createXMLStreamReader(toRead);
    while (streamReader.hasNext()) {
            if (streamReader.getEventType() == XMLStreamReader.CDATA) {
                System.out.println("<![CDATA[" + streamReader.getText() + "]]>");
            }
    }

最佳答案

您的代码有错误。实际上,我会告诉您如何使用,因为使用Stax API确实是一个非常基本的问题。提示:尝试实际打印出事件类型,看看是否可以找到有趣的东西。

10-07 12:22