簡體   English   中英

使用StAX解析xml:未獲得較大的內容標簽

[英]Parsing xml with StAX: not getting a large content tag

我正在使用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無法提供整個標簽內容嗎? 謝謝和最好的問候。

您應該在其他事件之間並置所有isCharacters事件,或者設置IS_COALESCING屬性。

就像使用SAX一樣,STAX可能會為您提供一個字符序列作為多個事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM