2016-07-28 54 views
-1

我使用StAX來解析我的xml文件,問題是當標記內容很大時,StAX無法給我全部內容。 這裏是我的XML文檔的一部分,有效載荷標記的內容這麼多較大,無法打印這一切在SOF:用StAX解析xml:沒有獲取大內容標記

<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無法提供整個標籤內容? 感謝和問候。

回答

2

您應該連接其他事件之間的所有isCharacters事件或設置IS_COALESCING屬性。

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