问题标签 [jaxb2-basics]
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.
java - JAXB 将绑定应用于多个 .xsd 模式
我有几个我无法控制的 XML 模式,我想在通过 XJC 生成 Java 类时应用某些自定义。
一些自定义应该适用于所有.xsd
文件,但我不知道如何实现这一点。
目前我有这个.xjb
文件:
而这个 Ant 任务:
最后我想做的是以某种方式指定公共块(其中我有多个),即:
对于我所有的.xsd
文件。
假设是这样的:
我怎样才能做到这一点?
java - 嵌套 XML 解组到 POJO 类
我是 JAXB 编组和解组的新手,我正在尝试将嵌套的 XML 解组为 Java POJO 类,但我在解组的对象中得到了 null。另外我想确认我是否为相应的 XML 正确创建了 POJO 类。
XML 文件:
JAXBExample.java 文件
POJO 类:
EBO.java
ESBHeader.java
业务事件.java
EBOPayload.java
项目.java
java - 使用 Java 解析 XML(JAXB 和根元素)
我正在用 Java 为一个简单的 xml 结构编写一个 XML 解析器,该结构的结构以
除了这一行之外,我能够很好地阅读整个 XML 结构。我能够使用没有 xmlns 属性的 JAXB 解析和读入相应的 JAVA POJO。但是,如果我添加解析器会引发异常。
我试过的,
java - 使用 JAXB 将 Java 对象转换为 XML - 注释问题
另一个pojo
当我在编组时得到如下结果
如下是预期的输出:
请帮助我。
java - 使用 JAXB 解析嵌套 XML 时的问题
我无法使用 jaxB 解析以下 xml 文件
这是我编写java对象的方式
解析时我没有收到任何异常,但 MyRows 和 MyColumns 中的数据为空。我怀疑是 MyRows 中的 XMLElement 名称。这两个变量的名称都是“col”。因此它可能无法正确映射数据。
解析这个 xml 文件的正确方法是什么?
java - 由于“[..]ToStringStrategy 无法转换为 [..]ToStringStrategy2”,JAXB2 无法为 XSD 生成类
在 0.12.0 版中使用 maven-jaxb2-plugin 和 org.jvnet.jaxb2_commons.jaxb2-basics 时,我发现了 toString 生成的问题。它没有生成 JAXBToStringStrategy.INSTANCE2,而是使用与 ToStringStrategy2 不兼容的 INSTANCE,如下所示:
因此,maven 构建在编译时失败,并出现以下示例错误:
出于某种原因,当我使用与 org.jvnet.jax-ws-commons.jaxws-maven-plugin 相同的配置从 WSDL 生成类时,使用了正确的 INSTANCE2。我还尝试通过以下方式明确给出要使用的类:
或者
但没有任何改变。有人有类似的问题吗?下面的例子:
pom.xml
XSD [应该放在 pom 旁边]:
java - JAXB 生成意外的标记名称,返回类型名称
我遇到的问题是我生成的 XML 与我的预期不符。
我有以下 XSD...
当我从这些 JAXB 对象生成 XML 时,我得到以下 XML...
我没想到输出的标签是 <DOSLogType>,而是 <DOSLog>。
代码返回 DOSLogType.java 类型的对象
我希望我可以使用 bindings.xjc 控制生成的对象和 XML 标记名称,但这似乎不起作用。
谁能建议我如何控制生成的 XML?
====================================
有两种解决方案,如下所示的 XSD 方法。第二个是在 bindings.xjc 中修复它
java - 使用 JAXB,我们如何避免混合 complexType 的 JAXBElement
当在 XSD 中将 complexType 标记为 mixed="true" 时,生成的 Java 类会生成一个 List,该 List 具有“String”类型或围绕实际值的 JAXBElement 包装器。如果没有 mixed="true",则不会生成 JAXBElement,并且值会直接映射到类型类。例如:
这里的 div 类型将包含一个 List getContent() 方法,该方法为 AnchorType 返回一个字符串或一个 JAXBElement。
我希望它只返回没有 JAXBElement 的 String 或 AnchorType。
xsd - Java XSD - 使用自定义集合类型
我的问题
我正在使用 jaxb2 maven 插件将我的 XSD 定义对象转换为 Java 类。我的目标是在我的 XSD(例如xs:choice unbound
)中将列表类型元素设置为 LinkedList 而不是使用默认的 ArrayList 类型。我正在使用 jaxb-xew-plugin 版本 1.10。这是我的相关代码:
XSD:
聚甲醛:
生成的 Java 代码
如您所见,ArrayList
类型仍然出现,而不是LinkedList
. 实际上似乎xew
参数和命令被完全忽略了......我没有收到任何错误
我已经尝试了很多变体,xs:annotation
几乎在我能逻辑想到的每个位置组合中复制和粘贴简介。我得到的唯一错误是:
这个组合导致:com.sun.istack.SAXParseException2: compiler was unable to honor this xew customization. It is attached to a wrong place, or its inconsistent with other bindings.
您是否看到任何缺失的步骤会导致我的自定义集合覆盖不会被拾取?
我附上了 maven 调试输出,有很多东西要浏览,我没有在那里找到任何提示。 mvn-debug.log
或者...
从 XSD 生成 Java 对象时,是否有另一种方法可以使用自定义 List 类型?
(PS。我在 github 部分为 jaxb-xew-plugin交叉发布了这个,但是我意识到最后一次提交是在 2 年前,所以它可能是一个休眠项目。在这里发布以寻求 SOF 社区的帮助)
java - Variables runtime error doubts solve it Runtim
I have started learning java and there is this one line which I am not getting clearly that -
Variables are interpreted at runtime whereas values/constants at compile time ??
Can anyone explain this with suitable code..