使用哪个 Java EE API 进行 XML 解析
可能的重复:
Java SE 平台上 XML 解析 API 的比较
我正在尝试使用 Java 编写一个 XML 解析器,为此有很多处理 xml 的 API,例如 sax、jdom、xerces...,但我不知道该使用哪一个。
Possible Duplicate:
Comparison of XML parsing APIs on the Java SE platform
I am trying to code an XML parser using Java and for that there's a lot of API that treat xml such as sax, jdom, xerces, ... and I did not know which one to use.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有三种 API 选择,每种都有多种可用的实现
SAX(XML 的简单 API),在此模型中,解析器调用您必须为其遇到的每个元素或属性提供的回调函数。 SAX API 是只读的,您将需要其他 API 来进行写入。
在此模型中的 DOM 解析器生成 DOM,它是表示 XML 文档结构的对象层次结构。对于大型文档,此方法可能需要大量内存,并且 DOM 树不太容易使用。当您必须处理内容未知的文档时,它最有用。 DOM 既可以读取也可以写入。
JAXB 允许您使用自己的对象,并且通过注释它们,您可以将对象映射到 XML。它既可以读也可以写。这需要最少的代码。
There are three API choices and for each of them are multiple implementations available
SAX (Simple API for XML) in this model the parser calls callback functions you have to supply for each element or attribute it encounters. The SAX API is read only, you will need an other API for writing.
DOM in this model the parser generates a DOM which is a hierarchy of objects representing the structure of the XML document. This method can require lots of memory for large documents and the DOM tree isn't that easy to use. It most useful when you have to handle documents with unknown contents. The DOM can both be read and written.
JAXB allows you to use your own objects and by annotating them you can map your objects to XML. It can both read and write. This one requires the least amount of code.