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. 附加元素作爲反XML元素
- 2. 如何修改使用StAX XML元素在Java中
- 3. 使用stax分析器從xml獲取特定元素節點
- 4. 如何使用StAX編寫空元素?
- 5. 如何使用StAX將元素添加到現有的XML文件?
- 6. 附加到附加元素
- 7. Xml元素節點被附加兩次
- 8. 附加元素
- 9. 使用STAX XMLStreamWriter合併XML
- 10. 使用Xsd Schema驗證Xml文件(附加元素)
- 11. XML到XML使用XSLT添加元素
- 12. 用StaX跳過XML
- 13. 使用OutputStreamWriter數據附加到一個XML文件(StAX的解析器)
- 14. 如何使用stax解析器將屬性附加到現有的xml
- 15. 附加事件元素使用jQuery
- 16. 使用javascript/closure去除附加元素?
- 17. 使用附加元素 「本」 - jQuery的
- 18. 附加元素使用jQuery選擇
- 19. getelementbyid附加元素
- 20. CKEDITOR元素附加
- 21. 使用C#中另一個XML文檔中的元素附加XML文檔
- 22. JQuery AJAX附加到附加元素
- 23. jQuery附加在附加元素
- 24. 使用jquery將元素附加到子元素
- 25. 將SVG元素附加到使用JS的現有SVG元素
- 26. stax xml驗證
- 27. 序列化XML並將新元素附加到XML文件
- 28. 如何StAX的處理XML的修改使用StAX
- 29. 將元素附加到元素
- 30. 將元素附加到克隆元素
沒有,stax文檔上沒有附加內容,您必須重新構建整個文檔。 –
我有和Nageswara一樣的問題。至少可以寫入我讀取的同一個文件嗎?或者我必須以某種方式緩衝?一個例子會非常有幫助。 – lony