如何解决读取和写入xml字符串的最简单的Java API是什么?
| 大家好,我从诸如此类的其他问题中读了一些答案,但没有得到一个好的答案。 所以我想知道一些好的api来读写xml字符串。要阅读我正在考虑使用SAX的信息,我已经开始使用状态机来编写xmlhandler来对其进行处理,但是该处理程序开始变得很大... 方法 public void startElement(String uri,String name,String n,Attributes at)
我有一个无限的其他树,这是正常的,对吗?
要编写xml字符串,我还不知道...
谢谢你的时间
解决方法
答案取决于您要对XML做什么。如果要创建Java对象,请按照Matt Ball的建议使用JAXB。
如果您想根据XML元素的名称(或它们的属性的内容,或其他任何东西)来做一些事情(即执行一些代码),那么很可能最终会遇到无穷的“ 1”。为什么?因为您要根据XML中的内容来分支代码。
您可以通过以下方法解决它:
将每个分支放在一个类(或方法)内,并使用类加载器(或反射)构造它的实例(或调用此方法);
如果您必须响应有限的一组元素,则有一个having2ѭ并在解析之前填充它,然后简单地调用哈希方法即可;这意味着使用反射。
两种解决方案都对速度产生负面影响,但是(以我的观点)极大地提高了代码的可读性,可重用性和对代码的理解。
您可能会考虑使用DOM而不是SAX。缺点:将整个XML加载到内存中;优势:您可以很好地浏览元素树,并且始终具有任何元素的上下文。
至于编写XML:您可以编写非常简单的XML文档,它们与常规文本文件没有区别(打开流,对其进行写操作,将其关闭)。但是,通常最好对DOM树进行操作然后保存它;有很多关于它的教程。
如果您的软件将经常使用,并且您非常依赖XML文档的结构,并且希望避免由于元素放置错误而导致的严重崩溃,请确保为其使用Schema(XSD)或DTD并进行验证您针对它加载的每个XML文档。这很有帮助;)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。