【java – JAXB测试手工制作的bean】教程文章相关的互联网学习教程文章

使用JAXB映射包含超类型和子类型的Java集合【代码】

我正在尝试用JAXB生成这样的东西:<person><firstName>Foo</firstName><lastName>Bar</lastName><identities><green id="greenId"><some_elements....</green><blue id="blueId"/></identities>< identity>的子元素一切都源于一个普通的超级阶级. 在Java中它是这样的:@XmlRootElement(name = "person") public class Person {public String firstName; public String lastName;@XmlElementWrapper(name = "identities")public Set...

java – 使用JAXB解组XML而不使用unescaping字符【代码】

想象下面的情况:我们从一些外部工具收到一个xml文件.最近在这个xml中,nodenames或richcontent标签中可能存在一些转义字符,如下例所示(简称):<map> <node TEXT="Project"> <node TEXT="&#xe4;&#xe4;"> <richcontent TYPE="NOTE"><html><head></head><body><p>I am a Note for Node !</p></body> </html> </richcontent> </node> </node> </map>在用JAXB解组文件之后,那些逃脱的charakters得不到了解.不幸的是,我需要它们保持原样,...

java – 用于unmarshalled对象的文件中的JAXB位置【代码】

我有一些对象是由JAXB从XML文件解组的.是否有可能让JAXB告诉我或以某种方式找出每个对象来自XML文件(行和列)的位置? 此信息在某些时候可用,因为JAXB在架构验证错误期间将其提供给我.但我也希望它可用于经过验证的对象.解决方法:您可以通过利用XMLStreamReader和Unmarshaller.Listener在JAXB中执行此操作: 演示package forum383861;import java.io.FileInputStream; import java.util.HashMap; import java.util.Map;import javax...

java – 使用fractionDigits对BigDecimal进行JAXB编组【代码】

所以这是我的问题.我给了一个我生成的XML文件应符合的XSD.使用org.apache.cxf.cxf-xjc-plugin maven插件和外部绑定文件生成源代码.但是当我在尝试编组我的对象时,生成的XML不符合我的要求. 我的XSD包含以下内容:<xsd:element maxOccurs="1" minOccurs="0" name="amount"><xsd:simpleType><xsd:restriction base="xsd:decimal"><xsd:totalDigits value="13" /><xsd:fractionDigits value="2" /></xsd:restriction></xsd:simpleType...

java – 为从schema生成的JAXB类添加额外的方法【代码】

这是我的XSD文件的一个简单的摘录<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="ns"xmlns:tns="sns" elementFormDefault="qualified"><element name="document"><attribute name="title" use="required"/></element> </schema>我使用maven-jaxb2-plugin从中生成Java类. Document类有一个getTitle()方法来返回title属性的文本. 我想为Document添加一个额外的方法:pu...

java – JAXB @XmlAttribute @XmlValue实例【代码】

我是JAXB的新手,在从XML转换为Java类实例时遇到了麻烦. 我有以下XML:<?xml version="1.0"?> <response><category>client</category><action>Greeting</action><code>1000</code><msg>Your Connection with API Server is Successful</msg><resData><data name="svDate">2009-02-16 06:22:21</data></resData> </response>我开发了以下Java代码:/*** Copyright 2013. ABN Software. All Rights reserved.<br>* Author ...... Andr...

java – 是否有生成Builders的JAXB插件?

您是否了解为生成的JAXB类生成Builder模式类的任何优秀JAXB插件?使用JAXB生成的类来编写域是非常讨厌的.我看到有人在2010年写回了一个插件但它没有使用最新的maven插件jaxb2-maven-plugin,它还要求你为每个不健壮的模式类型指定绑定.解决方法:是的,现在有一个插件可以为JAXB生成的类生成流畅的构建器.有一个github项目 https://github.com/mklemm/jaxb2-rich-contract-plugin 它包含一些有用的JAXB插件.你可以从github下载源码和二...

java – Spring 4 REST程序,使用JAXB以XML格式返回List【代码】

我正在尝试使用Spring 4实现REST服务. REST方法将返回XML中的客户对象列表.该应用程序是注释驱动的. 对于XML,我使用了JAXB注释.根据我的理解,Spring会在找到JAXB注释时使用“Jaxb2RootElementHttpMessageConverter”开箱即用. 客户POJO:@XmlRootElement(name = "customer") public class Customer { private int id; private String name; private List favBookList; @XmlAttribute public int getId() {return id; } public void...

java – Jaxb:在同一个包中解组带有多个名称空间的xml【代码】

我是新手在xml中使用命名空间所以我有点困惑,想要一些澄清.我有一个java服务,我接收带有许多不同名称空间的xml文档,当我使用它时,我觉得我必须做错了所以我想检查.在我的package-info.java中,我有我的模式注释,例如:@javax.xml.bind.annotation.XmlSchema(xmlns={@javax.xml.bind.annotation.XmHS(prefix="train", namespaceURI="http://mycompany/train"), @javax.xml.bind.annotation.XmHS(prefix="passenger", namespaceURI="h...

java – JAXB无法处理接口【代码】

我认为这个问题已被问过一百万次,但没有一个解决方案对我有用.这是我的示例实现public class FooImpl2 implements Foo {private int a = 100 ;private String b = "I am FooImpl2";private boolean c;public int getA() {return a;}public void setA(int a) {this.a = a;}public String getB() {return b;}public void setB(String b) {this.b = b;}public boolean isC() {return c;}public void setC(boolean c) {this.c = c;}}@X...

java – 如何将JAXB对象封送到org.w3c.dom.Document?【代码】

这给了我一个Document对象,其顶级节点没有子节点:public static Document getDocument(Object jaxb) {DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();//dbf.setNamespaceAware(true);Document doc = dbf.newDocumentBuilder().newDocument(); JAXBContext context = JAXBContext.newInstance(jaxb.getClass());context.createMarshaller().marshal(jaxb, doc);return doc; }这是解决方法,它看起来效率更低,因...

java – JAXB忽略Response XML中的’额外’元素【代码】

我得到了一个XML响应,它不断变化(节点不断增加或减少).在响应xml中的每次更新之后,我的代码断开,因为我的映射Java类没有所有文件. 如果在响应XML中发生任何更改,有没有办法避免我的代码中断. 任何帮助将不胜感激. 谢谢.解决方法:要处理未知字段,您可以添加List< Object>属性注释@XmlAnyElement(lax = true)@XmlAnyElement(lax = true) private List<Object> anything;输入中与该类的显式属性不对应的任何元素都将被清除到此列表中....

java – 使用JAXB和Any进行序列化【代码】

我有一个定义以下类型的模式:<xsd:complexType name="Payload"><xsd:sequence><xsd:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax"/></xsd:sequence> </xsd:complexType>这会创建一个像这样的对象:@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Payload", propOrder = {"any" }) public class Payload {@XmlAnyElement(lax = true)protected List<Object> any; }现在我尝试将另一...

java – JAXB required = true似乎不需要【代码】

我们有这个JAXB注释:@XmlElement(name = "Strategy", required = true)protected List<Strategy> strategy;如果没有策略元素存在,则不会抛出异常..为什么会这样?我们不应该得到例外吗?解决方法:JAXB参考实现不使用此属性进行验证,它纯粹用于文档目的. 如果需要验证文档,则需要使用SchemaFactory定义XML Schema,并将其注入Marshaller或Unmarshaller.

java – 我有一个JAXB类加载器泄漏【代码】

我在Glassfish上部署了一个应用程序.随着时间的推移,加载的班级数量攀升至数百万,而我的permgen似乎也在增加. 为了帮助排除故障,我将以下内容添加到我的jvm参数中.-XX:PrintGCDetails-XX:TraceClassUnloading-XX:TraceClassLoading 现在,在观看输出时,我看到一遍又一遍地加载相同的类.基本上每次调用Web服务时都会使用JAXB来处理xml. [从JVM_DefineClass加载com.strikeiron.ZIPCodesInRadius $JaxbAccessorF_userID][从JVM_Defi...