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

java – JAXB Schemagen和解组错误【代码】

我正在使用JAXB从我的Java类生成XML Schema,这样其他开发人员就可以在没有Java知识的情况下轻松创建类的实例. 这是代码的相关部分: package-info.java@XmlSchema(xmlns = @XmlNs(prefix = "p", namespaceURI = "http://mygame.com"),namespace = "http://mygame.com")package com.mygame.entity.properties;import javax.xml.bind.annotation.XmlNs; import javax.xml.bind.annotation.XmlSchema;Model.classpackage com.mygame.e...

使用@XMLJavaTypeAdapters进行JAXB解组【代码】

我有三节课@XmlRootElement public class GeofenceParameter{private GeofenceCenterAddress geofenceCenterAddress;private GeofenceCenterCoordinates geofenceCenterCoordinates; }public class GeofenceCenterAddress extends GeofenceParameter{}public class GeofenceCenterCoordinate extends GeofenceParameter{}我已经制作了两个不同的XmlAdapter扩展类来对GeofenceCenterAddress和GeofenceCentereCoordinate中的Geofen...

java – JAXB unmarshaller下sun.misc.URLClassPath.getLoader中的高锁争用【代码】

我们在weblogic上运行这段特殊代码,它的功能是从XML输入字符串返回特定于输入类的java对象.代码本身将由多个线程(50)使用.public static Object toXMLObject(String XMLString, Class xmlClass)throws Exception {StringReader strReader = null;try {JAXBContext context = JAXBContexts.getJAXBContext(xmlClass); //Cached JAXBContextUnmarshaller unmarshaller = context.createUnmarshaller();strReader = new StringReader(...

java – JAXB:如何将子树附加到对象并创建完整的树【代码】

我有一个子树,我想在一个对象上追加,并使JAXB将所有东西编组为一棵树(并使用适当的标签).但是目前,子树的根标签被另一个对象的标签取代 不幸的是,我不允许在这里发布原始代码,所以我在测试代码中重现了我的问题(如果你发现这个哑巴,请耐心等待). 我的想法是我想输出以下结构:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:Root xmlns:ns2="urn:my:foo:bar:1.0" xmlns:ns3="urn:other:foo:bar:1.1"><Content><Hea...

JAXB Java EE从Schema生成实体类【代码】

我正在使用JVMB的Maven插件从XML模式文档生成类.我的POM包含以下内容<plugin><groupId>org.codehaus.mojo</groupId><artifactId>jaxb2-maven-plugin</artifactId><version>1.5</version><executions><execution><goals><goal>xjc</goal></goals><phase>generate-sources</phase></execution></executions><configuration><clearOutputDir>false</clearOutputDir><outputDirectory>src/main/java</outputDirectory><schemaDirectory...

java – 使用Jaxb2Marshaller防止解析包含DTD的XML文件【代码】

我看到了很多使用XMLInputFactory,SAXParser和DocumentBuilderFactory的解决方案.我们的项目是春季网络服务,我们唯一做的是:@Bean public Jaxb2Marshaller unmarshaller() {Jaxb2Marshaller unmarshaller = new Jaxb2Marshaller();unmarshaller.setContextPath("foo");unmarshaller.setProcessExternalEntities(false);return unmarshaller; } 然后我们将这个marshaller和unmarshaller传递给MarshallingPayloadMethodProcessor...

java – Jaxb从XSD生成类时删除后缀“Type”【代码】

我们刚刚升级到下面的Jaxb版本,并开始注意到它在生成类时剥去了“Type”后缀.这导致了问题,因为我们从第3方获得的模式现在有两个具有相同名称的类.有人可以告诉我们如何绕过这个并保持“类型”后缀不变吗?jaxbVersion = '2.2.11'jaxwsVersion = '2.2.10'jaxwsrsVersion = '2.0.1'谢谢解决方法:使用以下架构绑定声明:<schemaBindings><nameXmlTransform><typeName suffix="Type"/></nameXmlTransform> </schemaBindings>看到: > ...

java – JAXB:编组XML上缺少具体类型信息(xsi:type)【代码】

我正在为XSD生成JAXB类,用于SOAP WebService我正在构建一个客户端(使用jaxws-maven-plugin v2.4.1生成,wsimport目标). 我遇到一个问题,在编组我的对象时,JAXB不会将xsi:type-Information添加到抽象类型的节点. WebService现在(理所当然,我认为)抱怨我试图传递它的元素而不指定它们是什么类型(“类型定义不能为元素抽象…”). 这是一个演示我的问题的简化示例: 抽象类型模式:(abstract.xsd)<?xml version="1.0" encoding="UTF-8"...

jaxb编组时的javax.xml.bind.PropertyException【代码】

我试图将对象列表编组为xml.以下是方法:import com.sun.xml.bind.marshaller.NamespacePrefixMapper; import javax.xml.bind.Marshaller; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException;public class ItemMarshaller {public String marshallItems(final List<Items> items){try{final JAXBContext context = JAXBContext.newInstance("com.project.jaxb.items");final Marshaller m = context.create...

java – 使用JAXB解组/编组List – 继承【代码】

我建立了以下案例.所有JAXBLists的接口:public interface JaxbList<T> { public abstract List<T> getList(); }一个基础实现:@XmlRootElement(name="list") public class JaxbBaseList<T> implements JaxbList<T>{protected List<T> list;public JaxbBaseList(){}public JaxbBaseList(List<T> list){this.list=list;}@XmlElement(name="item" )public List<T> getList(){return list;} }以及URI列表的实现:@XmlRootElement(name...

Java JAXB如何将XmlElements重新定义为现有变量【代码】

当使用jaxb进行解组时,我在A类中有一些东西:public class A {@XmlElements( { //@XmlElement(name = "g", type = A.class),@XmlElement(name = "x", type = X.class), @XmlElement(name = "y", type = Y.class), })List<XXX> children; }也就是说,我有一个列表,孩子,由X:s和Y:s组成 现在我的问题:我想继承A,我想重新定义’XmlElements’列表并将其绑定到同一个变量’children’,喜欢:public class B extends A {@XmlEl...

java – 类型为泛型类型参数的JAXB编组字段【代码】

我希望以下测试可以与Sun的JAXB RI 2.2.1.1一起使用,但是在构造JAXBContext时它会因NullPointerException而失败:public class GenericFieldMarshallTest {public static class CustomType {}public static class CustomTypeAdapter extends XmlAdapter<String, CustomType> {@Overridepublic String marshal(CustomType v) throws Exception {return "CustomType";}@Overridepublic CustomType unmarshal(String v) throws Except...

java – 数组上的JAXB JSON强制括号【代码】

我试图在仅包含一个元素的列表上强制使用括号. 我想要这样的东西:{“id”:“0”,“industries”:[{“id”:“0”,“name”:“Technologies”}],“name”:“Google Inc.”} 但我得到:{“id”:“0”,“industries”:{“id”:“0”,“name”:“Technologies”},“name”:“Google Inc.”} 这是我的实体:@Entity @XmlRootElement public class Company {private int id;private String name;private String description;@X...

java – 更改JAXB带注释的子类的元素名称【代码】

我正在尝试为Web服务域创建jaxb类层次结构.我发现覆盖超类中的getter方法的子类可以更改JAXB输出的元素名称,但是超类的一个也被写入输出.我想知道是否有一种方法可以抑制超类中的getter. 码:@XmlType class SuperClass {@XmlElement(name = "Name")public String getName(){} }@XmlType class SubClass extends SuperClass {@Override@XmlElement(name = "CoolName")public String getName(){} }当我将SubClass元素添加到XmlRootE...

java – JAXB unmarshall到多个pojo的【代码】

我试图弄清楚是否有可能将xml元素解组为多个pojos.例如: 对于xml:<type><id>1</id><cost>12</cost><height>15</height><width>13</width><depth>77</depth> </type>物品类@XmlAccessorType(XmlAccessType.PROPERTY) @XmlRootElement(name="type") public class Item {private Integer id;private Double cost;@XmlElement(name="id")public Integer getId(){return id;}@XmlElement(name="cost")public Double getCost(){return ...