我是新来的java,想知道哪种方法读取XML更好。将XML读取为字符串并将XML读取为DOM(或任何其他方法)。只是好奇地想知道,如果将XML读为字符串比DOM更好,或者以任何方式有效地读取XML。阅读XML作为字符串与读取XML作为DOM中的Java
-1
A
回答
0
如果您不需要任何内容处理,将XML文件读取为字符串是有意义的。例如。当Web服务器将XML文件原样发送到客户端时。在这种情况下,解析XML将会产生反作用。
但是在所有其他情况下,应该解析XML。通过正则表达式操作XML字符串尤其不是一个好主意。
您从解析中得到的最基本的东西是确定性良好形成性。解析过程只能完成真正的XML文档。
好构性是指:
- 只有一个根节点。
- 始终匹配开始和结束元素。
- 没有特殊字符,如
<
,>
和&
用于文本。必须相应地逃脱。 - 文本中的字符(文本节点和属性)被正确编码(根据声明的编码或作为unicode实体)。
此外,您可以验证针对DTD或XSD架构的XML文档。所以你可以确定文档结构。
如果你有一个解析DOM文档,你可以
- 访问和操作的节点
- 查询使用XPath
- 等转换通过XSLT文档的某些节点 通过XQuery的(与第三方
- 查询通过JAXB
但是这仅适用于中小型文档,因为整个文档树必须完全保留在内存中。
除了DOM还有其他的技术来处理大型XML文档,而不需要保存文档存储:
- SAX:低层次的API来处理与回调XML。您实现了一个处理程序类,解析器为每个打开的标记,关闭标记,文本节点等调用您的处理程序方法。
- StAX:更现代的拉API(包括简单易用的低级事件API和更高级别的流API)编写API。
0
- 特殊字符会转换回原始形式,而您将其作为DOM进行红色处理。 像
<
转换为<
和其他类似< (<), & (&), > (>), " ("), and ' (')
- 这是很容易,当你阅读的DOM(即可以在DOM不能转换,如果你的XML是无效的自动处理在DOM
- 验证中的XML数据)
相关问题
- 1. 读取XML中的XML字符串作为Flex中/ AS3
- 2. XML阅读字符串值
- 3. 作为流的Java字符串读取
- 4. 阅读Excel中通过OLEDB读取字符串作为DBNull的
- 5. 阅读数字作为字符串
- 6. 阅读数字作为字符串
- 7. 从URL中读取XML作为字符串
- 8. 将xml读取为字符串
- 9. 阅读XML与阅读CSV文件java
- 10. 阅读日期值作为字符串
- 11. 试图读取完整的XML文件作为Java中的字符串
- 12. Java XML阅读
- 13. SQL服务器读取XML值作为空字符串
- 14. 如何读取XML字符串作为变量?
- 15. 读取XML字符串从Java
- 16. 的Android获取XML作为字符串
- 17. 阅读和更新XML字符串
- 18. 阅读和分析XML字符串
- 19. 获取节点的内部XML作为字符串在Java中的DOM
- 20. XML阅读器不工作
- 21. XML阅读子不工作
- 22. 获取XML结果作为字符串
- 23. 阅读与jQuery XML
- 24. 阅读与JAXB xml
- 25. JS读取字符串值作为HTML
- 26. xlrd读取字符串作为浮子
- 27. 读取文件作为字符串
- 28. Python读取\ n作为字符串
- 29. 从字符串中读取数据XML
- 30. 从字符串中读取XML
作为一般的观点,没有人可以说,不知道(a)你想要达到的目标和(b)你如何衡量善良(性能?代码行?可维护性?) 。在这种特殊情况下,甚至不清楚“将XML读作字符串”的含义。 –