我正在嘗試讀取XML文件,進行一些較小的更改(更改某些屬性的值),並將其重新寫回。使用StAX對XML文檔進行小的修改
我打算使用StAX解析器(javax.xml.stream.XMLStreamReader
)來讀取每個事件,看看它是否是我想更改的,然後直接傳遞給StAX編寫器(javax.xml.stream.XMLStreamReader
)(如果不需要進行更改)。
不幸的是,這看起來並不那麼簡單 - 作者沒有辦法採取事件類型和解析器對象,只有像writeAttribute
和writeStartElement
這樣的方法。很明顯,我可以寫一個大的switch語句,用一個可能出現在XML文檔中的每種可能類型的元素的情況,然後再將它寫回去,但是對於看起來應該很簡單的東西來說,這看起來很麻煩。
有沒有我錯過的東西,可以很容易地寫出一個非常類似的XML文檔到您使用StAX讀取的文檔?