首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在哪里可以找到Java EE 6 XML库

在哪里可以找到Java EE 6 XML库
EN

Stack Overflow用户
提问于 2011-12-11 06:09:28
回答 4查看 368关注 0票数 2

我正在学习Java EE 6和Jax-RS (还没有开始任何关于Jax-RS的知识),以便为我的工作构建一个xml api。我已经设置了java控制器,现在我希望使用我的模型来生成XML输出。通过搜索Google,我似乎找不到任何XML库。有人能帮我指出正确的方向吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-11 06:36:23

如果您使用JAX-RS,那么您可以使用@Produces("application/ xml "),那么您将拥有一个xml api。JAX-RS默认与JAXB一起工作。

请参阅http://jersey.java.net/nonav/documentation/latest/jax-rs.html#d4e318

票数 5
EN

Stack Overflow用户

发布于 2011-12-11 06:48:33

Java SE已经包含了三种风格的XML解析器:

  1. SAX -使用SAXParserFactory帮助器类创建一个。我相信它是最古老的API,并且它遵循W3C标准。它的使用也相当困难,因为它是通过传递一堆回调来供解析器调用的,您必须自己跟踪自己在文档中的位置,而且由于StAX是可用的,所以几乎没有理由使用它。它也不能用于编写XML.
  2. DOM -您可以使用DocumentBuilderFactory创建一个解析器。API中唯一提供对已解析的三个数据的随机访问的API。它也是最慢的,并且使用了最多的内存,所以如果你需要处理大型文档,不推荐使用它。(不过,序列化web服务输出应该没问题。)Java的实现遵循W3C标准,这使得应用编程接口有点混乱,因为它没有遵循Java习惯用法。有两个非常流行的替代DOM风格的API,它们更像Java语言,dom4j.
  3. StAXJDOM --这是市场上的新手,是特定于Java的,也是我个人最喜欢的。它的工作原理是让你在一系列事件中前进。这使得它比DOM快得多,同时也更容易理解。首先使用XMLInputFactory读取XML,使用XMLOutputFactory写入XML。

如果您打算使用JAX-RS,那么您可能不想使用这些“低级”XML库。JAX-RS应该为您处理解析请求和格式化响应。我相信它使用JAXB来实现这一点,这也是标准库的一部分。JAXB将基于类上的注释及其控制序列化的字段/属性自动序列化Java对象。

票数 3
EN

Stack Overflow用户

发布于 2011-12-11 06:13:31

这些库不是特定于JavaEE的。在生成XML时,我的经验中最常用的是StAX和JDOM。StAX是JDK的一部分。它们还进行XML解析和验证。

几个教程:1 2

StAX使用基于事件的模型(阅读文档,当您看到元素X执行某些操作时),并且毫不奇怪地使用类似于DOM的语法(查找元素X.Y)。JDOM将整个文档树加载到内存中,这会占用内存,但执行速度会更快。

Here's对这两种工具和JAXB进行了比较。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8460300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档