2012-07-16 33 views
0

我得到了以下(在現實中巨大的)的XML處理:StaxMate:訪問純XML

<root> 
    <item attr="hello world"> 
    <subitem></subitem> 
    <subitem></subitem> 
    <subitem></subitem> 
    <subitem></subitem> 
    </item> 
    <item attr="hello world"> 
    <subitem></subitem> 
    <subitem></subitem> 
    <subitem></subitem> 
    <subitem></subitem> 
    </item> 
    . 
    . 
    . 
</root> 

隨着StaxMate這是很容易的。 但我如何告訴StaxMate「記錄」例如每個項目的純XML(請參閱上面的XML)。 這樣處理的項目後,我已經做了它我處理+我有字符串

<item attr="hello world"> 
    <subitem></subitem> 
    <subitem></subitem> 
    <subitem></subitem> 
    <subitem></subitem> 
    </item> 

地方。

非常感謝你非常多, 費邊

回答

0

你需要編寫條目; XMLStreamWriter2有很好的方法,XMLStreamWriter2.copyEventFromReader(...)可以用來精確複製令牌。

但是你爲什麼要創造String?直接編寫XML片段或處理它們是否有意義?字符串是用於XML的低效率的東西;佔用內存,在寫出時需要進行編碼,在包含XML時進行解析。所以要做到這一點的唯一理由是,如果他們必須作爲字符串傳遞給另一個庫。