【Java-JAXB拆分单个属性并绑定到多个字段】教程文章相关的互联网学习教程文章

java – 什么是JAXB,我为什么要使用它?

有人在这里发誓JAXB是切片面包以来最棒的东西.我很想知道Stack Overflow用户认为JAXB的用例是什么,以及是什么使它成为一个好的或坏的解决方案.解决方法:我是操作XML的JAXB的忠实粉丝.基本上,它提供了解决此问题的方法(我假设您熟悉XML,Java数据结构和XML模式): 使用XML很困难.人们需要一种方法来获取XML文件 – 基本上是一个文本文件 – 并将其转换为某种数据结构,然后程序可以操作. JAXB将采用您编写的XML Schema并创建一组与该模...

java – 使用JAXB从两个XML文件交叉引用XmlID【代码】

我正在尝试将两个不同的XML文件编组/解组到POJOS.第一个XML文件如下所示:--Network.xml-- <Network><Nodes><Node id="ROD" /><Node id="KFI" /><Node id="JND" /></Nodes><Arcs><Arc fromNode="ROD" /><Arc fromNode="JND" /></Arcs> </Network> ---------使用@XmlID和@XmlIDREF注释,我可以成功填充Arc类以指向它引用的正确节点. 但是,我还必须解析这个XML:--NetworkInputs.xml-- <NetworkInputs><Flows><Flow toNode="JND" /><F...

java – SEVERE:找不到媒体类型= application / json的MessageBodyWriter,type = class com.jersey.jaxb.Todo,gene【代码】

我正在尝试创建一个RESTful Web服务,我创建了一个,但我得到了一个MessageBodyWriter not found for media type=application/json error我的Todo课程:package com.jersey.jaxb;import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; im...

java – JAXB / MOXy:当元素丢失时,不要调用XmlElementWrapper setter吗?【代码】

我在一个类上有一个列表设置器,该类使用@XmlElementWrapper(name =“foos”)和@XmlElement(name =“foo”)进行注释. 当我解组没有< foos>< / foos>的XML时或< foo />元素,调用setter并传递一个空列表.有没有办法得到以下?: >如果没有< foos />,请不要调用setter.或者如果必须调用setter,则传递null.>当< foos />存在但空,将空列表传递给setter.>当< foos>有一个或多个孩子< foo />元素,传递填充列表.解决方法:您可以在此用例中使...

java – JAXB:类强制转换异常,但类具有相同的名称【代码】

我有一个有趣的问题. 当我启动glassfish服务器时,每个人都可以正常工作.但是,我更改了一些代码并发布了服务器,并运行了我的客户端(SistemGirisClientKullaniciDogrula).应用程序抛出此异常:java.lang.ClassCastException: tr.com.app.Kullanici cannot be cast to tr.com.app.Kullanici.有趣的是,在Glassfish服务器重启后,应用程序运行正常. 我正在使用restlet-spring-hibernate.我还使用JAXB(org.restlet.ext.jaxb.jar)将XML转换...

Java – 反序列化扁平化的XML文件. (XStream,JAXB,MOXy,无论哪个……)【代码】

我目前正在使用XStream来解析XML文件,但无法让它做我需要它做的事情.如有必要,我将改为另一个图书馆,无论什么都可以解决这个问题! 基本上我正在尝试解析类似于此的XML提要:<product><title>Transformers Best of Grimlock</title><author1>Bob Budiansky</author1><author2>Simon Furman</author2> </product>我正在尝试解析这样的模型:public class Product extends Model {public String title;public List<String> authors;}...

使用java XML注释JAXB将多个元素绑定到属性作为键的映射【代码】

我有一个XML源代码,我使用JAXB解组对象.XML源代码:<album><name>something</name><id>003030</id><artist>someone</artist>... </album>java源代码(与所需的getter / setter一样):@XmlRootElement(name="album") class Album {String name;Long id;String artist;... }到现在为止还挺好.现在我在专辑列表中获得了一些不同大小的图片网址:... <image size="small">http://.../small.jpg</image> <image size="medium">http://......

java – 从enunciate中排除一些jaxb生成的类【代码】

我正在使用enunciate并希望从文档中排除某些jaxb生成的类.如何才能做到这一点? 是否可以通过xsd添加org.codehaus.enunciate.XmlTransient注释? 提前致谢.解决方法:<?xml version="1.0"?><enunciate ...><api-classes><exclude pattern="com.mycompany.nonvisible.**"/></api-classes>...</enunciate>

java – JAXB的通用适配器【代码】

假设我有班级人物:class Person{String firstName;String lastName;String email; }XML具有以下格式:<person><firstName value="asd" /> <lastName value="bcd" /><email value="qwe" /> </person>我可以使用自己的XmlAdapter实现解组/编组这个类字段FirstNameAdapter,LastNameAdapter,EmailAdapter.正如您所看到的,每个字段以类似的方式表示 – 字段名称为xml元素,字段值为元素属性.是否有可能创建“通用”适配器,我将能够转移该...

java – 如何映射JAXB的对象列表?【代码】

NOTE: I don’t need to create the java objects because I just have to checksome values, but I didn’t find anything to unmarshal them as a genericObject or a Tree or anything. Something like the JsonNode fromJackson. If this is possible let me know, so I can avoid all this messwith objects to map everything.现在的问题是: 我要解组一个简单的xml,但结果总是为null.我尝试了不同的注释,但如果它们没有失败...

JAXB编组一个具有java.lang.Object字段的对象【代码】

我正在尝试使用Object字段封送Object(可以是多种类型的类).然后我将使用套接字发送生成的XML.我的代码如下; 我要上课的班级public class Message {private String metadata;private Object payload;public Message(String metadata,Object payload){this.metadata=metadata;this.payload=payload;}public Message() {}public String getMetadata() {return metadata;}public void setMetadata(String metadata) {this.metadata = m...

java – 使用带字符的JAXB【代码】

我有一个类型为Character的@XMLElement但是当它被编组时,它似乎被放入二进制字符串中,例如……'n' becomes 110 'e' becomes 101没有将它们转换为字符串是否有一种方法可以输出文本字符而不是表示?解决方法:你可以写一个XmlAdapter. XmlAdapter允许您将一种类型的对象转换为另一种类型,以便进行编组/解组. XmlAdapter(CharacterAdapter)import javax.xml.bind.annotation.adapters.XmlAdapter;public class CharacterAdapter exten...

java – 如何在使用Jersey,jaxb和jax-rs时设置xml命名空间【代码】

如何在使用Jersey,jaxb和amp;时设置xml命名空间JAX-RS解决方法:这都是使用JAXB注释完成的.以下几点是指您的域模型. 架构级别 您可以使用@XmlSchema包级别注释指定架构级别命名空间信息:@XmlSchema(namespace = "http://www.example.org",elementFormDefault = XmlNsForm.QUALIFIED) package org.example;import javax.xml.bind.annotation.XmlSchema; import javax.xml.bind.annotation.XmlNsForm;上述注释利用elementFormDefault...

java – 当使用JAXB解组时,如何忽略(有效)XML结构的大部分内容?【代码】

在处理具有相当复杂的XML结构的Web服务响应时,我只对一小部分信息感兴趣.让我们考虑在这种情况下必须使用JAXB. 举个例子,假设我只对检索d(可以建模为单个JAXB bean)感兴趣:ab1c1c2b2d除了检索d之外,忽略其他所有内容的最快建议方法是什么?解决方法:注意:我是EclipseLink JAXB (MOXy)领导者,也是JAXB 2(JSR-222)专家组的成员. 您可以通过几种不同的方式处理此用例: 选项#1 – StreamFilter任何JAXB实现 您可以将StAX XMLStrea...

java – JAXB:具有文本内容和属性的元素,使用XJC生成类【代码】

最近我遇到了一个似乎很常见的问题:如何用属性和简单的文本内容来表示XML元素,如下所示:<elem attr="aval">elemval</elem>使用JAXB. 我已经找到了很多关于如何做到这一点的建议,但是这些建议中的每一个都涉及手动编辑绑定类. 我有一组模式,我使用XJC将这些模式转换为Java类.但是,它似乎产生错误的代码,即它不生成设置普通内容的方法,只有设置属性的方法. 是否有可能解决XJC的这种行为?广泛的谷歌搜索对这个问题没有帮助.解决方法...