问题标签 [xml-binding]

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 回答
232 浏览

java - 同一个 Java 对象上的不同 XML 映射/绑定

我有一个可与其他几个信息系统互操作的 Java 应用程序

根据目标信息系统,同一个对象可以映射到不同的 XML 文件中

我的问题是:是否有 Java 解决方案可以在同一个对象上执行多个 XML 映射/绑定

类似于 Bean Validation 组的东西,可以使用不同的验证配置文件验证对象

在 JAXB 样式中,它可能是这样的,例如:

接着

可能有可能用 JAXB 做这样的事情,但我不知道


编辑

@Martin Serrano 的回复为我提供了一些使用 JAXB 优化事物的线索。

一个抽象类来统治它们:

并具体化进行映射的类:

默认映射的类Person

和其他用于替代映射的类:

并测试:

因此 :

我发现最好的解决方案是具有不同的映射并避免代码重复,因此我们只需使用映射实现 getter。

让我们看看它是否在解决更大的问题!

但是虽然它比拥有 3 个不同的类要好得多,但它仍然不是同一个类上的 3 个映射......

0 投票
5 回答
118 浏览

java - 在这个用例中使用反射来解决我不允许修复的设计问题是否合理?

以下用例是否被认为是反射的合理性?

有一堆从 XSD 生成的类(目前项目中有数百个)代表各种响应。

所有这些响应都包含通用响应数据结构,而不是对其进行扩展。

当发生超时等事件时,我只需要将单个字符串设置为特定值。

如果这些类正在扩展通用响应结构,我总是可以设置此响应代码而无需反射,但事实并非如此。

因此,我为我的服务编写了简单的实用程序,它使用反射来获取 String 字段的 setter 方法并使用预定义的值调用它。我唯一知道的替代方法是使用特定于类的方法来复制代码来处理超时,唯一的区别是返回的 Response 类。

相关事实:

  • 这个 setter 方法永远不应该改变,因为它需要对数百个接口进行返工

有人可以指出我是否遗漏了一些陷阱,或者是否有替代的反射解决方案可以达到相同的结果?

编辑:我根本没有权限在 XSD 上完成任何更改,因此任何解决方案都必须在本地完成。序列化此类对象应该没有问题,因为它们在组件之间共享。

0 投票
1 回答
470 浏览

java - 如何在 Java XML Binding 中使用注释在 xml simpleType 中提及 XS:MaxLength

我想在下面的 XML 代码中显示 maxLength 属性。我需要在我的 java 类中做什么。

0 投票
1 回答
898 浏览

c++ - 使用 CodeSynthesis XSD 编译有效的 XML Schema 失败并出现错误 MSB3721

我正在尝试使用 CodeSynthesis XSD(在 Visual Studio 2015 中)进行 XML 到 C++ 的绑定。我有一个有效的 XML 模式,但 XSD 无法编译它。这是错误消息:

我已经尝试了“xsd-cxx-parse”和“xsd-cxx-tree”构建选项,但它们都失败并出现相同的错误。

我尝试在同一个项目中编译其他模式,包括 CodeSythesis XSD 包附带的示例,它们都成功编译。

  • CodeSynthesis 可以或不能编译的内容是否有任何限制?如果有帮助的话,我测试过的所有模式(包括我的模式)都是 1.0 版(并且它们都是有效的)。
  • 有人知道Error MSB3721 exiting with code 1是什么意思或如何解决吗?
0 投票
1 回答
59 浏览

xsd - 有人知道类似于 JAXB for Java 或 XSDE for C++ 的 XML 到 SWI-Prolog 绑定工具吗?

是否可以创建 XML 模式文件的特定于 Prolog 的绑定?如果是这样,有人可以指出我正确的方向吗?

我有一个模式,我在 Java 中使用它来创建一个 JAXB 绑定来序列化和反序列化 XML 文件。这些文件由 SWI-Prolog 应用程序创建,该应用程序仍在发展中,由地理位置相距遥远的团队开发。我想确保当 XML 格式发生更改时,它们与模式文件更改相关联,而不仅仅是将模式视为一个很好的文档工具,它通常会滞后于它们的实际 XML 内容。

任何建议表示赞赏。

0 投票
1 回答
2145 浏览

xml - 序列或单个元素之间的 XSD 选择

我正在尝试在两个元素的序列和一个元素之间创建一个选择,例如:

问题是选择标签接受其中的三个元素中的任何一个,“路径”、“文件名”和“行”。

我想要的是路径和文件名,或者只有行。

这是可行的吗?关于如何解决这个问题的任何线索?

电流输出:

0 投票
1 回答
134 浏览

spring - Spring Rest Service 调用期间的解组问题

使用 Spring Rest 模板调用 Rest Web 服务,如下所示:

并以字符串格式获取输出

尝试将其解组为 java 类时,如下所示

Info 类定义为

获取信息类 null 的所有值,例如 Firstname=null..

谁能告诉我缺少什么?谢谢

0 投票
3 回答
1900 浏览

spring - 在 Spring Rest Service 调用期间根据 HTTP 代码解组响应

使用 Spring Rest 模板调用 Rest Web 服务,如下所示:

并以字符串格式获取输出

尝试将其解组为 java 类时,如下所示

Info 类定义为

如果响应 http 代码为 500,则响应不是 info 类型,而是其他类型的 infoException。

我们可以指定 resttemplate 根据 Http 响应代码解组输出吗?

0 投票
1 回答
695 浏览

javascript - 如何在 sap ui5 中的 xml 模型中设置数组

我已将 xml 数据存储在一个数组中,我想将其设置为 xml 模型。我试过使用 oXmlModel.setXML(oPropStored); 其中 oXmlModel 是 xml 模型的名称,oPropStored 是存储 xml 数据的数组的名称。但它不起作用。

这是xml文件

这是控制器代码:

在上面的代码中,我将选定的索引存储在 indexarray 中,然后将索引与我从 xml 文件中存储 bookno 的 bookno 数组进行比较。匹配的内容存储在 oPropStored 数组中,oProp 保存所有 xml 数据。此 oPropStored 数组将设置为 oXmlModel。

谢谢你

0 投票
0 回答
68 浏览

java - javax.xml.bind.JAXBContext 中的 JAXBContext 不引发异常

javax.xml.bind.JAXBContext 中的 JAXBContext 既没有创建包的实例,也没有引发异常。应用程序的流程很好,直到代码中的以下行:

之后我看不到任何异常,即使代码在 try catch 块中,也没有流进一步移动,因为在那之后我看不到任何日志。我不确定是什么导致了这个问题。