问题标签 [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 回答
1348 浏览

xml - 在spring批处理中从不同的数据库表中提取数据

我应该从特定数据库中提取数据并将其放入 XML 文件中。

但是数据只能通过对数据库的不同表进行多次选择查询来获得。

这是我的配置:

我应该为每个查询做所有这些配置(并创建相应的 java 类)吗?


编辑:

我已经完成了这个配置以使用查询“A”从数据库中提取数据(并且它有效)。所以我的问题是:我是否应该为我想要执行的每个查询编写相同的配置(与阅读器、编写器、编组器等)......或者我是否可以编写一种“查询组" 可以一个接一个地执行,并将其结果写入一个 XML 文件 ???

0 投票
1 回答
1111 浏览

java - JAXB:有没有办法只解组 XML 中的特定路径?

我有一个 XSD,它定义了几个复杂类型的层次结构(每个都是另一个的孩子)。

前任:

我希望仅将 complexTypeFlawType导入列表。我想我可能可以使用 Apache Digester 来执行此操作,但想知道是否有某种方法可以使用 JAXB 来执行此操作。直接解组到一个detailedreport对象,然后使用循环来提取 FlawType 是可行的,但似乎需要做很多额外的工作。

从本质上讲,我希望能够提出一个解决方案,可以执行以下操作:

我可能可以将整个 XML 文件加载到 DOM 对象中,然后使用 XPath 之类的东西来定位所有单个FlawType节点,对于每个节点,使用 Unmarshaller 为每个节点执行此操作,但不知道是否有更简单的方法. 我想我可能也可以使用某种形式的 SAX 解析器(我从未使用过它们),但希望能更直接一些。

我实际上正在使用带有 spring-oxm 包的 Spring 4 框架来为我处理大量的 JAXB 工作,因此很想找到一个易于理解和维护的简单解决方案。使用像 Digester 这样的东西只会为我的堆栈添加更多我宁愿避免的技术。

有没有一种简单的方法可以用 JAXB 做到这一点,或者这超出了 JAXB 的范围?

0 投票
1 回答
949 浏览

java - spring-oxm:我可以解组文件的子元素吗?

这与我之前的问题有关,该问题通常更针对 JAXB。但是这个问题更具体地与spring-oxm. 我正在寻找是否可以使用 spring-oxm unmarshaller 从我的 XML 中仅解组特定元素。

我的 XSD 是:

使用一些预处理,我可以找到“cwe”类型的所有节点:

使用 JAXBUnmarshaller,我可以设法解组我的对象:

但是,如果我尝试使用 spring-oxm unmarshaller 的概念,则会出现错误。

@M.Deinum 在评论中建议尝试 XPath,但我并不担心更好 - 在解组时抛出相同的错误:

我究竟做错了什么?我创建 DOMSource() 的方式有问题吗?为什么我可以直接使用 JAXBUnmarshaller 解组,但不能使用 Spring 包装器?无论如何通过spring-oxm unmarshaller显式声明declaredType?

CweType.java:

0 投票
1 回答
83 浏览

unmarshalling - xstream 有条件地解组到一个类

由于遗留(不幸)的原因,我们对 2 种不同的表示具有相同的 xml 根。使用 xstream,我们如何让 unmarshaller 在解组时使用我们需要的类。

我正在考虑传递一些上下文(通过 ThreadContext),以便 xstream 在解组期间使用该信息来选择正确的类,尽管我不确定从哪里开始。任何建议都非常感谢。

笔记:

  • 两个 XML 的根标签相同
  • 根标签上没有其他信息(属性)可用于区分 2 个表示
  • 由于遗留原因,无法更改 xml

理想情况下,我希望该解决方案可以与 Spring-OXM 一起使用,但如果需要,我会采取捷径

0 投票
1 回答
440 浏览

java - @XmlSeeAlso 不适用于同一个根节点

我正在尝试使用@XmlSeeAlso注释实现继承。当为子类使用不同的根节点名称时,一切都按预期工作。但是对于相同的根名称,Unmarshaller 总是从 XmlSeeAlso 列表中选择最后一个类,尽管有内容。更改根名称是不可能的。有什么方法可以让 Unmarshaller 按内容正确选择课程?

输出:

0 投票
2 回答
3120 浏览

java - JAXB“意外元素”错误

我正在尝试解组 XML 文档。我使用 XJC 生成类。

XSD:

XML:

生成的类:

我使用 Spring OXM 如下:

然后我使用 Unmarshaller 如下:

我收到以下错误:

我在网上搜索,但找不到任何有用的东西。我知道这个Element类没有用 注释@XmlRootElement,但根据我发现的文章,这是 XJC 的工作方式——在我的例子中,它创建了一个ObjectFactory类。

0 投票
1 回答
196 浏览

spring - spring oxm 是否创建单例 jaxbcontext?

Spring OXM 框架内部是如何JAXBContext.newInstance()创建的。是单例还是多例。我的要求是我想要单例jaxbcontext对象?请分享 Spring OXM 的详细信息。谢谢。

0 投票
0 回答
2189 浏览

java - 使用 Spring Jaxb2Marshaller 生成动态命名空间前缀

我正在使用 SpringJaxb2Marshaller将 java 对象转换为 XML,反之亦然。考虑到示例,我需要为xmlns prefix和- 设置动态值value

其中prefixasabcvalueashttp://www.example.com必须是可配置的(从属性文件提供)。

Product查看包下类的示例xmlcom.test.abc

要构建此 xml,我使用以下配置

Spring Jaxb2Marshaller Bean 配置

包信息.java

在这里,我是硬编码的 xmlns 前缀和值。我需要从属性文件中提供 xmlns 前缀和值。我怎样才能做到这一点?

我正在使用 SpringBoot 1.3.3

0 投票
2 回答
12151 浏览

spring - 类或其任何超类在此上下文中是已知的

我试图理解我遇到的这个特殊问题。在这里使用 Spring OXM 来实现一个 Soap WS Consumer。

我只是附上相关信息来解释问题。

登录Ws配置,

LoginClient 客户端实现为,

为了完整起见,GetLoginByUser,

GetLoginByUserResponse,

但是,当我尝试时,

我得到错误,

从我可以看到它在编组getUserByPrincipalUserClient)时不会失败,但会在getLoginByUserId( )上失败LoginClient

0 投票
1 回答
797 浏览

spring-ws - Spring Jaxb2Marshaller 不调用 CharacterEscapeHandler

我竭尽全力想弄清楚,但失败了。Spring Jaxb2Marshaller 似乎忽略了 CharacterEscapeHandler !:-(

这是我的代码:

} 真的累了 :-(