有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用StAX解析xml的java:没有获得大的内容标记

我使用StAX解析我的xml文件,问题是当标记内容很大时,StAX无法提供全部内容。 这是我的xml文档的一部分,有效负载标记的内容要大得多,无法在SOF中全部打印:

<payload>{\"id\": \"ENTITY24\",\"attr1\": {\"type\": \"sensor\",\"type\": \"type1\",\"value\": \"val1\",\"metadata\": {}}}</payload>

下面是我解析它的代码的一部分:

if(startElement.getName().getLocalPart().equals("payload")){
    xmlEvent = xmlEventReader.nextEvent();
    if(xmlEvent.isCharacters()){
       setPayload(xmlEvent.asCharacters().getData());                           
    }
}

知道为什么StAX不能提供整个标签内容吗? 谢谢,并致以最良好的问候


共 (1) 个答案

  1. # 1 楼答案

    您应该在其他事件之间连接所有isCharacters事件,或者设置IS_COALESCING属性

    与SAX一样,STAX可以将一次字符运行作为多个事件提供给您