问题标签 [spring-oxm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
935 浏览

java - 使用 Spring OXM 的多个编组器/解组器

我有一个旧式 Web 服务项目,它接收两个不同的 XML 模式,但具有相同的属性名称(包括根元素)。我正在使用 Spring、OXM 和 JAXB2 进行编组/解组。

我已经用另一个问题解决了上一个问题,因此我使用 SAX 解析器来确定要使用哪个解组器。解析 XML 时,我检查一个值,然后我可以使用解组器或其他解组器。

当我尝试使用 Spring OXM 定义 marshallers/unmarhsallers 时,我的问题就出现了。如果我用两个包设置类路径,它会失败,因为 unmarshaller 找到两个具有相同 XMLRootElement 的类。如果我设置要绑定的类列表,它也会失败,因为解组器总是解组到类列表中的最后一项(相同的 XMLRootElement,解组器不知道要解组哪个类)。

但如果我使用 JaxbContext,它可以正常工作:

如何将其转换为更多 Spring (OXM) 方法?

0 投票
2 回答
7202 浏览

java - 使用 XStreamMarshaller Spring 生成 XML 视图

我正在使用 spring 框架 3.1(带有休眠),并且我正在尝试生成 XML 表示形式,例如:

从这个java类:

我的 servlet-conf.xml 在 ContentNegotiatingViewResolver 中包含此视图:

但我不明白为什么结果是一个包含数百个元素的奇怪 xml,例如:

1-可能是编组器对反射玩得太多了,我怎样才能获得我想要的预期结果?(2-我也有兴趣生成一个包含用户列表的 XML 文件)我该怎么做?

0 投票
1 回答
375 浏览

spring - Spring oxm 的使用

我是春天的新手。我正在研究 spring-oxm 的 XStreamMarshaller。我希望找到一种方法来使用它将我的对象转换为 xml。spring 站点清楚地告诉我如何做到这一点,但它仍然需要我在我的 POM 中添加一个 XStream 依赖项。我不明白spring-oxm有什么用?如果无论如何我都必须添加 xstream 依赖项,那么我可以直接使用 xstreams toXml 操作并完成它吗?我非常感谢我在理解 spring-oxm 的使用方面能得到的任何帮助。

提前非常感谢!

0 投票
1 回答
1047 浏览

spring - XStream JavaBeanConverter Spring 配置使用 getter 进行序列化

我想在 Spring 配置中注册 XStream JavaBeanConverter。我看到如下注册 JavaBeanConverter 的测试示例。

但是如何在我的 spring 配置中设置它。

目前我的弹簧配置设置如下

我正在为 Alias 和 Converter 使用 xstream 注释。

我尝试从 JavaBeanConverter 扩展我的自定义转换器。它可以很好地序列化普通属性,但我希望它序列化 getXXX 方法。

非常感谢!

0 投票
0 回答
911 浏览

xml - 将 XML 解析为 Java 对象

我正在使用 Spring OXM 和 Spring 数据来加载 dataset.xml 并使用Repository Populator将其保存到 MongoDB 中。我正在尝试使用Castor Marshaller bean 来做到这一点:

我的文件 dataset.xml 看起来像:

我的 POJO 看起来像:

这个 xml 让我明白我有一个角色列表,在里面我定义了每个角色,每个角色有 2 个字段(每个<role>代表一个对象Role.java)。
Castor 是否能够以List<Role>???解析此 dataset.xml 我在互联网上发现一个 Java 对象代表 XML 中的一个元素,这也是根元素。

有人可以帮我解决这个问题吗???

提前致谢 :-)

映射.xml

0 投票
1 回答
3021 浏览

java - 在 XMLSerializer 中从 Java 6 升级到 Java 7 时,JAXB 编组器抛出 NullPointerException

我已经在互联网上搜索了解决方案,但我不知所措,所以我希望有人能在这里为我指明正确的方向。

我的任务是将使用 JAXB2 的应用程序升级到 Java 7。

由于我了解 JVM 7 可以运行 Java 6 编译代码,这就是我首先尝试的,并且在 com.sun.xml.internal.bind.v2.runtime.XMLSerializer 类中遇到了 Null Pointer Exception。

然后我在 Java 7 中重新编译了应用程序并再次运行同样的问题。

我正在使用以下 Oracle JDK:Java SE 7u51 该应用程序还使用委托给 JAXB 的 Spring OXM。

这是在 JAXB Marshaller 实例上调用 marshal 时发生的 Null Pointer Exception 的堆栈跟踪:

也许我缺少一些额外的配置?

任何帮助表示赞赏。将根据需要提供更多信息。

谢谢

0 投票
1 回答
479 浏览

spring-integration - 在 JAXB 和 Spring 中处理域对象的集合

我们有一个 Spring Integration 应用程序,它使用 JDBC 轮询器和 RowMapper 从数据库中读取并输出域对象的集合(假设结果集返回多行)。

然后将域对象编组为 XML。当使用 Castor 作为编组器时,这可以正常工作,并且 XML 表示域对象的集合:

我们现在希望从 Castor 切换到 JAXB。这是 XML 中 JAXB 编组器的定义:

... JAXB 编组器用作 Spring 集成链中使用的转换器 ..

当然域类是注释的:

现在,抛出以下异常:

看起来 JAXB 不喜欢它正在处理域对象的集合这一事实。配置或处理此问题的正确方法是什么?

非常感谢

0 投票
1 回答
562 浏览

java - 配置 Spring 4.1 O/X 映射以基于模式验证入站 XML?

Spring 4 O/X 在其抽象背后支持多个 XML 解组器。我们使用 JAXB2。

Spring 可以根据模式验证传入的 XML 吗?我在官方文档和描述配置的 spring-oxm模式中都没有找到任何内容。这是我目前的配置,很标准。

0 投票
1 回答
6639 浏览

spring - Spring MVC with JAXB, List response based on a Generic class

我正在使用 Spring 4,以及 Spring MVC。

我有以下 POJO 类

如果我想通过 Spring MVC 以 XML 格式返回Person列表,我有以下处理程序

JaxbGenericList 在哪里(基于泛型的类声明

当我执行 URL 时,我得到以下错误堆栈跟踪

但是如果我有这个(类声明不基于泛型):

当然还有其他handler方法,如下

一切正常:

问题,我需要什么额外的配置才能只使用JaxbGenericList

加法一

我没有配置一个marshallerbean,所以我认为Spring在幕后提供了一个。现在根据您的回复,我添加了以下内容:

似乎缺少某些东西,因为我“再次”收到:

您是否在 Web 环境中尝试过?似乎我需要告诉 Spring MVC 使用它marshaller,我说似乎是因为其他使用POJO/XML 集合的 URL 工作正常。

我正在使用 Spring 4.0.5,并且 Web 环境是通过 Java Config 配置的

加法二

您的最新版本建议有效

但现在我的 XML 不是通用的,JSON 代码失败了。

对于我的其他 XML URL http://localhost:8080/spring-utility/person/getxmlpersons/specific

已修复添加或更新:

从:

至:

http://localhost:8080/spring-utility/person/getjsonperson但是对于 JSON,再次使用其他 URL

似乎我需要为 JSON 添加一个转换器(我之前没有定义),我使用了 Spring 默认值,你能帮我一把吗?

0 投票
1 回答
2079 浏览

xml - 从多个 XML 读取并在 Spring 批处理中写入一个 XML

我使用JAXB xjc工具从我的多个 xsd 文件生成 java 类(我使用在线工具从我的 xml 文件生成 xsd 文件)。

我的问题是我不知道如何配置我的 context.xml 以使其读取给定的所有类(和 xml),并且只生成一个最终的大 xml 文件。

这是我的 context.xml:

似乎我只能读取一个类(例如 com.xxx.generatedByJaxb.in​​v.DocumentType)并且我必须指定根标记,但我生成的 java 类中没有一个具有注释 XmlRootElement

请问如何配置我的工作以实现我的目标?

谢谢你。