1
A
回答
1
的StAX聽起來並不像做你的要求,我認爲什麼最簡單的選擇。但是...
XMLStreamReader接口有一個getLocation()
方法,所以當您遇到您感興趣的XML字符串的一部分時,您可以維護一個要執行的操作列表,以及您應該執行的位置他們。
所以在粗糙的僞代碼:
while (parsing) {
int event = xmlStreamReader.next();
if (isEventPasswordAttribute(event)) {
// create an Action to update password attribute,
// passing in xmlStreamReader.getLocation() and other necessary parameters
} else if (isTimeToAddNewUserNode(event)) {
// create an Action to add new user
// passing in xmlStreamReader.getLocation() and other necessary parameters
}
} // end parse
...
for (Iterator<Action> it = actions.iterator(); it.hasNext();) {
Action action = it.next();
action.perform();
}
需要以更新它要傳遞給原始的XML字符串/流標準路線的行動。對於字符串,這應該很容易。對於可能不是的流,一旦流首次被讀取,它可能不能成爲reset()
。在執行原始分析時,您可能必須自行緩衝所有內容。而且您必須小心操作不會改變位置,否則隨後的操作將查看XML流中的錯誤位置。
相關問題
- 1. 如何修改使用StAX XML元素在Java中
- 2. 使用stax分析器從xml獲取特定元素節點
- 3. 如何使用StAX編寫空元素?
- 4. Xml元素節點被附加兩次
- 5. 附加元素
- 6. 使用Xsd Schema驗證Xml文件(附加元素)
- 7. 用StaX跳過XML
- 8. 使用OutputStreamWriter數據附加到一個XML文件(StAX的解析器)
- 9. 附加元素使用jQuery選擇
- 10. 使用javascript/closure去除附加元素?
- 11. 使用附加元素 「本」 - jQuery的
- 12. CKEDITOR元素附加
- 13. getelementbyid附加元素
- 14. 使用C#中另一個XML文檔中的元素附加XML文檔
- 15. stax xml驗證
- 16. 如何StAX的處理XML的修改使用StAX
- 17. 將元素附加到元素
- 18. 使用C#添加鍵值XML元素
- 19. 使用XMLStreamWriter附加到XML
- 20. java使用StAX以通用的方式獲取兒童元素
- 21. 使用StAX格式化XML文件
- 22. 使用STax解析Java中的XML
- 23. 使用StAX讀取XML字符串
- 24. 附加元素::生成器
- 25. VueJS onclick附加元素
- 26. 從這個附加元素
- 27. Javascript附加/刪除元素
- 28. 無法.empty()附加元素
- 29. 附加並刪除元素
- 30. jQuery刪除附加元素
沒有,stax文檔上沒有附加內容,您必須重新構建整個文檔。 –
我有和Nageswara一樣的問題。至少可以寫入我讀取的同一個文件嗎?或者我必須以某種方式緩衝?一個例子會非常有幫助。 – lony