问题标签 [xmlmapper]
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.
xml - 如何使用 XML 映射在 hibernate 中建立多对多关系
我有以下情况:
我是hibernate的新手,我有一个项目要在接下来的几天内完成。
它是关于 Java 中的 CRUD Web 应用程序。第一步已经完成,但我真的被卡住了,我在互联网上找不到关于以下情况的任何帮助:
我有一个项目表,其中可以包含来自操作表的许多操作。(多对多关系)。
我还有一个 Payments 表,它有一个主键 ( paymentId
) 和 Project 和操作的 2 个外键 (projectId,actionId) 以及其他一些字段,如paymentMethod
, price
, startDate
, endDate
。我实际上使用付款表将每个项目连接到每个操作,添加一些额外的信息,如金额等。
我希望我能澄清我对一般观点的看法。
我不知道我必须如何做映射文件?我必须创建 2 个映射文件还是 3 个?( Project.hbm.xml
,action.hbm.xml
和payments.hbm.xml
)
一开始我想把关系分成以下几部分:
一个项目 POJO 类与付款具有一对多关系(映射 XML 将具有 1 个一对多关系)和动作 POJO 类与付款具有多对一关系(也与相关的 XML 映射文件) .
并且还有一个带有支付的 POJO 类,包括 Objects Action 和 Projects,以及 XML 文件中相关的一对多关系。
我没有在任何教程中看到这样的实现,也没有在任何网站上看到这样的实现,我不知道这是否可以?
我发现的唯一一件事是使用注释(主要)和中间步骤表(在我的情况下为付款)的多对多关系,其中只有两个外键,没有任何主键和我想要的额外字段。
项目 XML:
动作 xml:
付款(映射xml):
和 ppojo 类:
行动:
项目:
支付:
付款编号:
新的 XML:
java - XMLMapper.ReadValue 返回具有有效 xml 和空值的 NPE
我有以下xml:
当我使用 XMLMapper 读取此 xml 时,如下所示:
我得到以下调用堆栈的空指针异常:
java.lang.NullPointerException at com.fasterxml.jackson.databind.deser.std.UntypedObjectDeserializer.deserialize(UntypedObjectDeserializer.java:162) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:227 ) 在 com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:23) 在 com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:204)。 com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2052) 上的 fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2993) .... ....
即使 XML 在标签之间没有值,它仍然有效,所以我认为该函数应该返回空列表而不是 NPE。
java - 使用 Jackson XML 映射器将 Java 列表序列化为 XML
您好我需要使用 Jackson-dataformat XMLMapper 从 JAVA 创建一个 XML。XML应该像
但我总是喜欢额外的“<addresses> < /addresses>”标签。
我正在使用下面的代码来创建 XML
请问有人可以帮我吗?请问如何删除多余的标签。我曾尝试使用 @XmlElement 但它无济于事。蒂亚!!
java - REST:将通过 POST 传递的 XML 内容转换为 java 对象,元素内的属性
我正在使用 REST 服务,我想通过 POST 请求传递 XML 文本。我的服务器是用 JAVA 实现的。假设我正在发送这个 XML:
据我了解(如果我错了,请纠正我),将请求中的 XML 转换为 java 对象的最简单方法是定义一个具有适当注释的类。例如:
然后像这样阅读它:
我缺少的东西(如果其他部分是正确的)是如何定义我在元素中具有属性。如果我放一个“@XmlAttribute”注释,这将引用根元素的属性(“范围”),而不是特定元素的属性(“较低”或“较高”)。
jackson - 使用杰克逊更快的 XmlMapper 将简单 xml 转换为 java 对象时出现问题
我有一个简单的 xml,如下所示:
这个xml我想转换成下面的类:
我正在使用带有以下代码的 Jackson 2.3.2 版:
抛出以下异常:
如果我尝试将令牌对象转换为 xml,则 XmlMapper 会返回一个 xml 字符串,如下所示:
如何配置 ObjectMapper 以忽略 ObjectNode?我需要我的映射器来理解我的 xml,而无需对其进行一些字符串操作。感谢帮助。
spring-boot - 如何在 Spring Boot 应用程序中自动装配默认 XmlMapper
我在我XmlMapper
的一个 Spring Boot 项目中自动装配默认 Jackson 时遇到了一些问题。我创建了一个简单的示例项目来说明这一点。
我在这里所做的大致基于此:
来自 pom.xml
主要类:
Demo POJO,没有指定@XmlRootElement
,所以它不会使用 JAXB:
演示控制器:
一切正常,取决于Accept
标头,将返回 JSON 或 XML。
我可以轻松地自动装配ObjectMapper
Spring Boot 配置的默认值。到目前为止,一切都很好。
如果我在自动装配中发表评论,XmlMapper
我会得到:
知道这是为什么吗?我会假设它的工作方式与ObjectMapper
. 澄清一下,我不想自定义映射器,我只想引用 Spring Boot 创建的默认映射器。
java - 使用 Jackson XML 映射器将 XML 字符串反序列化为对象后,未显示完整的项目列表
我的输入 XML 字符串包含一个条目列表。当我使用 jackson xmlmapper 将其反序列化为对象时,我看到列表中只有一项即将到来。父元素已被定义为 POJO 中的通用对象。
xml 字符串(ItemList 包含 3 个项目):
Java代码:
POJO:
尽管输入 xml 字符串中的 ItemList 下有 3 个项目,但结果对象仅包含第 3 个项目。
结果:
jquery - 如何将一列中的两个 XML 结果元素与 jqGrid xmlmap 结合起来?
我有一个表,用 jqGrid 呈现,我想在一个列中组合两个不同的 XML 元素 - 例如,我想组合这些元素,在一个名为“userName”的列中表示联系人的名字和姓氏。列中的两个值之间也应该有一个分隔符。格式应为:姓氏、名字
如果我尝试类似下面的选择器,我会得到名字和姓氏,但首先显示名字,而我希望首先显示姓氏,并且名称之间没有分隔符 - 我没有知道如何在名称之间放置分隔符 (", "):
我还尝试了一些在 xmlmap 中使用函数的示例,但我最终在该列中使用 [object, Object], [object, Object] 而不是实际值。
json - Jackson XmlMapper XML 到 Json 的转换问题
我正在使用 Jackson XmlMapper 读取 XML 字符串并将其转换为 JsonString。我的 XML 文件是:
我为转换编写的代码是:
我作为输出得到的 Json 字符串是:
只有最后一本书被映射到 Json 字符串。 回答一个类似的问题,建议将 xml 字符串读入它的对象类而不是通用列表类。但是我试图处理的 XML 文件是通用的,没有固定的 POJO 表示。我该如何处理这个问题?
谢谢!
xml - Excel 2013 - VBA XML 绑定在重新启动时中断
我有复杂的 XSD。在 excel 开发人员中,在 XML 部分中,我可以单击“源”并将 XSD 添加到数据源映射,然后将节点映射到特定的单元格、行等。
然后我可以按预期输入数据并导出 XML,很好。当我重新打开保存的 XLS 时,发生了一些奇怪的事情,excel 说我的 XML 映射已损坏并要求删除损坏的映射并显示他认为错误的一个节点。但是所有选项都是灰色的,我发现的唯一选项是通过 VBA 删除地图,
但是当地图被删除时,所有映射都消失了,我必须再次添加地图并手动完成所有映射。这对我来说并不难,但普通用户可能会遇到问题,我只想给他们 XLS 来填充数据。
我无法更改 XSD,对其内容没有影响,所以我认为我必须忍受它并以某种方式教 excel 在自动启动时删除并再次添加此映射。由于有很多映射,并且只需在 excel 中单击几下,我很乐意将其记录为宏。但是当我打开记录时,它不会记录我所做的映射。
Q1:有什么方法可以记录映射生成吗?或者有没有办法以某种方式自动化这个过程?
我还发现了有趣的事情。如果我将地图损坏的 xlsx 作为 zip 打开并从中删除 xmlMaps.xml,再次打开 xls 后我可以打开 XML 数据源,当我添加我的 xsd 时,所有映射都会恢复并正确绑定到 xls 中的单元格(标记为粗体在附图中)。这导致我提出问题2。
Q2:有没有办法可以删除 VBA 中的映射,当再次添加时它会记住映射?
希望您能给我一些建议,谢谢。