问题标签 [jaxb]

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 投票
3 回答
13266 浏览

jaxb - 在将 XML 文件解组为对象后,如何让 JAXB 调用方法?

我正在使用 JAXB 将 XML 文件解组为 Java 对象——标准的东西。一旦 JAXB 完成此操作,我希望在新创建的对象上调用一个方法。

有没有一种机制可以做到这一点?我更喜欢对象,而不是外部实体,这样做是为了将构造保持在一个地方。

谢谢。

0 投票
1 回答
238 浏览

xml - Xsd:list--> 日期问题

我正在使用 JAXB 解析我的 xml 架构(xsd)。我有一个 complexType 如下:

现在的问题是,Jaxb 正在创建的我的 PromotionInfo 类具有 List 类型而不是 List 类型的 DateList 对象。有谁知道这是否是 JAXB 编译器中的错误,如果是,那么在我的情况下是否有解决方法?

谢谢!

0 投票
2 回答
2955 浏览

xml - XML-schema:相当于属性的 nullable="true"?

我在架构中添加 type="date" 时遇到问题,因为只要它为 null 就会引发编组错误。我发现对于元素,我们可以添加一个类似 nullable="true" 的属性并摆脱这个问题。但是,无法找到类似的属性方式。有没有办法避免这个属性问题?

谢谢!

0 投票
1 回答
2660 浏览

java - 如何在 jaxb 中注释类型集合的成员

我已成功编组以下课程

现在我想让我的容器类保存多个 Field 实例,所以我用以下方式声明了一个类:

当我只是尝试编组容器字段时,我收到以下错误:

此上下文已知类 java.util.LinkedList 或其任何超类

如何注释字段成员,以便将容器类编组为字段集合?

0 投票
2 回答
5634 浏览

java - 使用 JAXB 将 xml 与 html 实体解组

我需要将维基百科修订历史加载到 POJO 中,所以我使用 JAXB 来解组 wikipeida 数据转储(嗯,它的各个页面)。问题是文本节点偶尔包含未在维基百科 xml 转储中定义的实体。例如:° (`°' 请记住,我不知道我需要能够读取的完整实体集。我的输入文件是 3tb,所以我们假设所有 html 可以呈现的内容都在其中。 )。

如何配置 JAXB 来处理无效 xml 的实体?

这是 JAXB 在遇到未定义实体时抛出的 SAX 异常:

编辑:触发该异常的输入是关于北极圈的维基百科文章的完整修订历史。用于生成 JAXB 类的 XSD 位于:http ://www.mediawiki.org/xml/export-0.3.xsd

编辑:这个问题的根源是我的错误——我使用的初始提取器没有正确维护编码实体。但是,如果有人遇到我认为我遇到的问题,我确实找到了解决方法。见下文。

0 投票
7 回答
19644 浏览

java - 在 JaxB 中解组集合

假设我有这个类:

当尝试使用 JaxB 将 xml 文档解组到此类时,我注意到 JaxB 并没有调用 setB() 方法并向我发送 B 实例列表,而是实际上调用了 getB() 并将 B 实例添加到返回的列表中。为什么?

我希望调用 setter 的原因是该列表实际上只是一个临时存储,我想从中构建 map 字段,所以我想在 setter 中进行。

谢谢。

0 投票
2 回答
711 浏览

java - 如何将基于正则表达式匹配的 XML 更改为文本(字符数据)

我正在尝试将 XML 文件的文本内容(字符数据)与一系列正则表达式匹配,然后根据匹配项更改 XML。例子:

例如,我想将以下正则表达式与文本匹配:

例如,对于每场比赛,我想用标签或类似的东西包围比赛,所以上面变成:

另一个复杂因素是我想要匹配的文本(字符数据)可能跨越多个标签。

我想我正在尝试做的事情与文字处理器应用程序必须做的事情非常相似,如果您进行搜索以选择文本的匹配部分,然后例如更改匹配/选定文本的格式。

我想使用 Java(实际上是 Clojure)来执行此操作,并且我打算使用 JAXB 来操作 XML 文档。

我该如何去做上面的事情?

0 投票
2 回答
754 浏览

java - 我可以将多个处理器的注释放入 Java 类中吗?

我不太确定注释实际上是如何工作的。我在同一个类上使用 JAXB 和 JPA(带有 eclipselink),即我得到这样的类定义:

现在我遇到了奇怪的错误(例如“com.econemon.suite.common.models.Channel@115c974 不是已知的实体类型”,这通常意味着该类不在我的 persistence.xml 中),我是想知道注释是否会相互干扰?

0 投票
1 回答
1174 浏览

jaxb - JAXB Java to XML:默认情况下如何不打印原始类型成员

第一次尝试使用这个很酷的网站 - 在搜索了 2 小时后:所以我有一个 Java Bean 给定(我只能注释而不是更改)并且需要使用 JAXB 将其映射到 XML。我希望基元类型在包含其语言默认值或用户定义的默认值时不被打印。

如前所述,我无法更改 java bean,因此将原始类型更改为对应的 Object Wrappers。

你如何做到最好?

样品豆:

对于这个实例化,我想要的是以下输出:

0 投票
10 回答
55417 浏览

java - 为什么在 Apache Felix 中运行时 JAXB 找不到我的 jaxb.in​​dex?

它就在那里,在它应该被索引的包中。不过,当我打电话时

我得到一个 JAXBException 说

“my.package.name”不包含 ObjectFactory.class 或 jaxb.in​​dex

虽然它确实包含两者。

什么有效,但不是我想要的,是

来自其他人的这个问题出现在相当多的邮件列表和论坛上,但似乎没有得到答案。

我在 OpenJDK 6 上运行它,所以我得到了源包并将我的调试器放到了库中。它首先查找 jaxb.properties,然后查找系统属性,但均未找到,它尝试使用 com.sun.internal.xml.bind.v2.ContextFactory 创建默认上下文。在那里,异常被抛出(内部ContextFactor.createContext(String ClassLoader, Map)),但我看不到发生了什么,因为源不在这里。

预计到达时间:

从 ContentFactory 的源代码来看,我在这里找到了,这可能是一段无法按预期工作的代码:

根据我以前的 经验,我猜测这与运行它的 OSGi 容器的类加载机制有关。不幸的是,我在这里仍然有点不够深入。