- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有几个关于 JAXB
的问题:
解析有哪些选项?我可以轻松实现/插入我自己的解析器吗?
有效性如何?假设我有一个宽松的解析器,它对模式有点宽松。我还能创建(无效的)对象结构吗?
JAXB
是否提供特殊的方法来做,例如对对象的验证?我想解析一个“无效”的对象结构,用一些算法修复它,然后验证(在 Java 中)。
JAXB
是否提供了其他方法来对对象执行奇特的操作(例如访问者模式)。
内存占用情况如何?对于 10-100MB 的 XML
文件,对象表示(忽略解析)是否可行?
感谢涵盖此类问题的优秀教程,Google 仅显示粗略的概述。
最佳答案
以下是我对您问题的回答:
What options are there for parsing? Can I implement / plugin my own parser easily?
JAXB ( JSR-222 ) 实现可以从许多不同的输入类型中解码:InputStream
、InputSource'、
Node、
XMLStreamReader ,
XMLEventReader,
File,
Source`。如果您的 XML 表示与其中任何一个相匹配,那么一切就绪。
What about validity? Suppose I have a relaxed parser that is somewhat relaxed regarding the schema. Can I still create an (invalid) object-structure?
JAXB 实现要求 XML 格式正确,但不要求它对 XML 模式有效。它旨在处理范围广泛的文档。如果你想确保“有效性”,那么你可以设置一个 XML 模式(参见 JAXB and Marshal/Unmarshal Schema Validation )。
Does JAXB provide special means to do e.g. validation on the objects? I'd like to parse to an "invalid" object structure, have some algorithm repair it, then validate (in Java).
您可以使用 javax.xml.validation
API 对对象模型进行验证。有关完整示例,请参阅:
Does JAXB provide other means to do fancy things on the objects (e.g. visitor pattern).
JAXB 模型是 POJO,因此您可以根据需要设计它们。您可能对以下类(class)感兴趣:
What about the memory footprint? Is the object representation (disregarding the parsing) feasible for XML files of 10-100MB?
是的,JAXB 可用于处理该大小的文档。如果您担心大小,可以使用 XMLStreamReader
解析 XML 文件,然后从 XMLStreamReader
中解码对象。
关于java - 评估 JAXB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10917968/
我正在考虑使用 JAXB 进行 XML 解析,但到目前为止我遇到了一些问题,这让我相信它可能不够灵活,无法满足我的需求。 我将解析第三方提供的 XML 以符合我将发布的 XSD。所以我想足够灵活地处理
我正在考虑使用 JAXB 进行 XML 解析,但到目前为止我遇到了一些问题,这让我相信它可能不够灵活,无法满足我的需求。 我将解析第三方提供的 XML 以符合我将发布的 XSD。所以我想足够灵活地处理
我有一个 xsd,用于使用 JAXB 在 Java 中生成对象模型,并且我希望将它生成的列表重命名为 xyzList 而不是 xyz。有没有办法做到这一点,而不必在绑定(bind)文件中为每个列表添加
我们正在使用 JAXB 构建许多开发人员应用程序,并不断遇到问题,这些问题都归结为 JAXB 对象的生产者和消费者之间的“版本”不匹配。 过程并没有减轻痛苦,所以我正在考虑一些类似于 JAXB 的 C
我们有一个在一个属性上带有 JAXB 注释的类。然后我们有几个子类来注释其余的重要数据。然而,我们有一个子类,我们想忽略父类注释,这样它就不会被编码。这是一些示例代码。 父类: @XmlType(na
我一直在使用 Oracle JDK 1.7 附带的默认 Sun JAXB 实现。 不幸的是,我有一些非常复杂的 XSD 模式可以使用,而且我发现了 XSD 到 Java 引擎中的一个错误(在 this
我有这个 Maven“任务”来使用 JAXB 从 XSD 文件生成 Java 类。 com.sun.tools.xjc.maven2
我想要这样的 XML: Foo 我可以通过一个看起来像这样的 JAXB 类成功地做到这一点: @XmlRootElement(name="simple") class Simple { @Xm
我有一个 POJO,我想将其编码并作为 xml 发送,但也想解编从同一个 Web 服务返回的数据。但是,此 POJO 中有某些字段,我不想发送,但可能在服务器返回的 xml 中。 这里的问题是,如果我
嘿伙计们,希望这里是一个简单的好东西。 我正在使用 JAXB 从架构生成类,并且我希望能够使用访问者模式来处理它们。 为此,我认为我需要每个 JAXB 生成的类来实现我定义的接口(interface)
我有一个 POJO,我想将其编码并作为 xml 发送,但也想解编从同一个 Web 服务返回的数据。但是,此 POJO 中有某些字段,我不想发送,但可能在服务器返回的 xml 中。 这里的问题是,如果我
这是我的转换代码。当我们处理大数据时,这需要很长时间......调用该方法几乎一百万次......我们可以清楚地看到它持有线程一段时间。 请建议我一些提高性能的方法! public class Gen
我有一个可以成功编码的 jaxb 对象,它有一个列表对象,然后我创建一个如下所示的新对象 public class Sub extends SuperJAXBClass{ @Override publ
我已经将jaxb库更新为2.0版。 我正在使用以下jars jaxb-api-2.0.jar和jaxb-imp-2.0.jar。 现在的问题是,它没有使用@XmlRootElement(name =“
我在使用 JAXB 时面临以下问题:看起来 JAXB 正在分析从最深的子类到父类的属性,并且子属性具有优先级。我想以某种方式改变这种行为。特别是: 子类: package test.sub; impo
我有以下 XML 消息,我需要反序列化它 我该如何处理? 最佳答案 @XmlElements注释用于映射选择结构。 http://b
我们想用 JAX-RS 和 JAXB 实现一个 RESTful-Web 服务。我们有一个使用 xml 的 PUT 方法,如下所示: -1 test test@gmx.de
我有以下代码 @XmlRootElement @XmlAccessorType(XmlAccessType.FIELD) public class SamplePojo { private S
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 2 年前。
所以我有一个 Jersey 的 REST 服务设置。 我的 POJO 被简单地注释为@XmlRootElement 我向我的 REST 服务发送了一个 POST 请求,一切正常。 1- 我向服务发送了
我是一名优秀的程序员,十分优秀!