问题标签 [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 投票
2 回答
2756 浏览

java - jaxb:将属性绑定到元素

如何使用 JAXB 实现这个 XML?目前,grantA,C,B 元素中的 expires 属性没有限制 - 但它应该。我不知道如何将元素与属性相关联。我必须为每个grantA、C、B 创建类吗?
XML:

XSD:

我现在的状态是:

客户.java:

客户.java

0 投票
0 回答
1588 浏览

jaxb - JAXB XJC - 将 XML 模式版本绑定到类名中

我们有两个元素名称相同但命名空间不同的 XML 模式。当我使用 xjc 时,编译器将元素分配给相同的类路径和元素。如下所示,根本问题在于对带前导数字的 XML Schema 命名空间的处理;特别是 1.0 和 1.1。XJC 正在将这些不同的 URI 编译到相同的类路径中;特别是_1。这导致与相同的类路径发生冲突:

bindings.xjb 中将 1.0 绑定到 _1_0 和 1.1 到 _1_1 的语法是什么?

谢谢!!!

XML 模式 1: http: //namespaces.companyABC.com/EDA/Process/1.0/TheChange

XML 模式 2: http: //namespaces.companyABC.com/EDA/Process/1.1/TheChange

错误:

这是使用 XSD 模式注释的解决方案。然而,解决方案应该作为 bindings.xjb 中的绑定模式而不是注解来实现。注释将要求对每个模式进行注释,这是一个问题。

这个注解是如何作为 bindings.xjb 中的绑定模式实现的?

0 投票
2 回答
3954 浏览

java - xjc 类型定义名称解析错误

当我想用 XJC 编译我的 XSD(我不是它的作者)时,我遇到了麻烦。

具体来说,我得到了错误(实际上还有更多类似的错误):

这很奇怪,因为提到的文件 ( siri_situationIdentity-v1.1.xsd) 指的是另一个 XSD,其中声明了可疑类型。

我尝试了几件事

  • 切换Java版本以获得不同的xjc
  • 直接从 java.net 尝试了一些不同的 xjc
  • 对文件应用了一些修改,以便删除当前应用的有关包含/导入的 JAXB 变通办法
  • 尝试使用具有依赖模式的整个目录作为 xjc 的目标
  • Altova XMLSpy Java 代码生成运行良好,没有错误(但对我来说没有办法)

他们都没有工作。

有人知道错误消息是由什么引起的吗?我不明白这一点。您可以直接从这里获得所有 XSD: Verband Deutscher Verkehrsunternehmen (VDV) - Ist-Daten-Schnittstellen

我尝试过的命令行(除其他外)是:

非常感谢任何帮助或提示。

问候

0 投票
2 回答
1459 浏览

xsd - 如何正确使用 GenerateDS 进行 DDEX XML 绑定

我对用于读取符合此架构的输入文件的 Python XML 绑定感兴趣:http: //ddex.net/xml/ern/341/release-notification.xsd

不过,此 XSD 依赖于许多其他 XSD,最重要的是:http: //ddex.net/xml/20120404/ddexC.xsdhttp://ddex.net/xml/20120404/ddex.xsd

我的第一次尝试是使用generateDS。如果我使用 --no-process-includes ,我能够成功地为 release-notification.xsd 生成绑定:

但是,这给我留下了一个几乎没用的 Python 对象,因为大多数 ComplexTypes 是在ddexC.xsd中定义的。

如果我在没有 --no-process-includes 的情况下尝试它,我会得到:

所指的定义是这样的:

因此,似乎 ddex 和 ddexC 命名空间以某种方式混合在一起,并创建了一个循环引用。

这里有什么建议吗?

0 投票
2 回答
7094 浏览

jaxb - JAXBException:意外元素(uri:“”,本地:“workConfigRestWrapper”)。预期元素是 <{}Config>、<{}MyMap>

我需要使用 xml 绑定解组映射给出错误。

MyMap.java:

MyAdaptor.java : 公共类 MyAdaptor 扩展 XmlAdapter> {

配置.java:

客户端代码:

错误信息:

JAXBException:意外元素(uri:“”,本地:“workConfigRestWrapper”)。预期元素是 <{}Config>、<{}MyMap> javax.xml.bind.UnmarshalException:意外元素(uri:“”,本地:“workConfigRestWrapper”)。预期元素是 com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:662) 上 com.sun.xml.bind.v2 上的 <{}Config>、<{}MyMap>。 runtime.unmarshaller.Loader.reportError(Loader.java:258) 在 com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:253) 在 com.sun.xml.bind.v2。 runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:120) 在 com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1063) 在 com.sun.xml.bind。

0 投票
1 回答
55436 浏览

java - JAXB @XmlAttribute @XmlValue 真实例子

我是 JAXB 的新手,在从 XML 转换为 Java 类实例时遇到了麻烦。

我有以下 XML:

我开发了以下 Java 代码:

这些代码示例运行但数据错误:

http://i.stack.imgur.com/qCCIM.png

请帮我。

我也不明白,如果我会有很多不同的

我可以轻松简单地做些什么?
我的意思是这种情况:

0 投票
2 回答
12817 浏览

java - 将 XML 映射到 Java 中的对象

假设我有一个名为Test的类,像这样


也是一个 XML 字符串,其中包含Test类对象的数据。XML 字符串是


现在我的任务是解析那个 XML 字符串并创建一个Test类的对象,并将这个 XML 中包含的所有数据放入该对象中。我正在使用JDOM进行 XML 解析。我想知道是否有任何解决方案可以将 XML 格式的所有数据直接复制到Test对象中?

现在我这样做是这样的:我解析 XML 字符串并逐个获取每个节点的数据,然后调用 setter 方法为Test类对象的每个字段设置数据。

0 投票
2 回答
189 浏览

java - 如何将书籍的引用转换为 XML?

我有几本书的参考必须转换为 XML。
我想为此操作用 Java 创建应用程序。

书籍参考:


XML:


如何将书籍的引用转换为 XML 格式?
你有什么建议?

0 投票
1 回答
187 浏览

xml - 如何 XML 绑定 Apache Cayenne 生成的类

首先,为这个冗长的问题道歉。

我有许多由 Cayenne 生成的类,如下所示。

我希望将其转换为 XML 模式,最好使用绑定表示法。首先要注意的是上面的代码是一个“_Form.java”文件,但还有一个生成的“Form.java”文件扩展了这个类,如下所示。我知道不应更改“_Form.java”(上图)。

本质上,我希望将它和其他一些类转换为 XML,就像我在下面这个简单的类示例中所做的那样,使用 xml 绑定。

我应该对生成的类进行哪些更改以生成以下 XML?

0 投票
1 回答
13296 浏览

jaxb - 什么是 JAXB 和 JAXRS?它们有什么关系?

对不起这个直率的问题。但是许多人日复一日地使用这两个术语,但我不知道。我对此进行了一些研究,并分别知道它是什么。但不明白它是如何相关的。我将首先分享我对这两个的理解。

JAXB 是 XML 到 Java 的绑定技术,支持模式和 Java 对象之间以及 XML 实例文档和 Java 对象实例之间的转换。在内部,JAXB 会在 xml 和 java 之间进行所有这些转换。这是一个 xml 解析器,然后它知道 xml 中的哪些组件对应于 java 中的哪些组件并且它会中断。从 JAXB 转换这个答案是由 xjc ( 或 codgen 插件) 之类的工具完成的。映射可能像

xsd:字符串 java.lang.String

xsd:整数 java.math.BigInteger

JaxRs 是不同的。这是一组处理请求的规范。这意味着它说“GET(”/foo“)”意味着使用 url /foo 处理 get 调用。它只说明 . 它是怎么做的?是的,这就是这个规范的实现。有许多实现,例如 restlet 、 resteasy 、 jersey 、 apache cxf 等。这类似于您在数学中实现的逻辑和方式。算法思想是桶搜索。这可以以任何方式实现。在 java 术语中,JaxRs 是接口,这 4 个 restlet、resteasy、jersey、apache cxf 是接口的实现。

现在请说我的理解是否正确。然后告诉他们是如何相关的。请帮忙 。如果可能的话,图片解释会更有帮助。