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