jjzjj

Marshalling

全部标签

java - 获取@XmlAttribute/@XmlValue 需要引用映射到 XML 文本的 Java 类型

在下面的代码中,我遇到了以下异常。我无法识别的XmlAttribute/XmlValue无法正常工作:-com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:1countsofIllegalAnnotationExceptions@XmlAttribute/@XmlValueneedtoreferenceaJavatypethatmapstotextinXML.thisproblemisrelatedtothefollowinglocation:atpublicjava.util.Setnl.magnus.te

java - 具有两个包装器元素的 Jackson XML ArrayList 输出

我在Jackson生成的XML输出中得到了两个包装器元素。我只想拥有一个。我有一个Javabean@Entity@Table(name="CITIES")@JacksonXmlRootElement(localName="City")publicclassCityimplementsSerializable{privatestaticfinallongserialVersionUID=21L;@Id@GeneratedValue(strategy=GenerationType.AUTO)@JacksonXmlProperty(isAttribute=true)privateLongid

java - JAXB Java 和 XSD 映射

在我的一个项目中,我使用JAXB2编码器,它有一个契约优先的Web服务,我从XML模式生成对象。一切正常。但是,我有一个“代码可用性”问题。让我举个例子。架构:因此,为了访问PersonContractAlerts列表,我必须调用:PersonContractAlertsResponse.getPersonContractAlertListType().getPersonContractAlert()有点长。我的问题是:如何摆脱getPersonContractAlertListType()并直接转到:PersonContractAlertsResponse.getPersonCont

java - 在 JAXB Marshalling 中,如何识别哪个子元素导致了 JAXB Marshalling Exception?

我在编码我的JAXBElement时遇到了这个异常,它有几个子元素。我如何弄清楚如何查明导致此异常的子元素?java.lang.NullPointerExceptionatcom.sun.xml.bind.v2.runtime.property.AttributeProperty.getIdValue(AttributeProperty.java:128)atcom.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.getId(ClassBeanInfoImpl.java:320)atcom.sun.xml.bind.v2.runtime.reflec

java - 使用 XStreamMarshaller Spring 生成 XML View

我正在使用spring框架3.1(带hibernate),我正在尝试生成如下XML表示形式:1bla@hello.combob来自这个java类:@Entity公共(public)课用户{@GenericGenerator(name="table-hilo-generator",strategy="org.hibernate.id.IncrementGenerator")@GeneratedValue(generator="table-hilo-generator")@ID@Column(name="iduser",unique=true,nullable=false)私有(priva

java - XML 编码 : How to add an attribute from another namespace to an element

我想生成这个XML:我有这个XSD:我如何才能在我的XSD中完成此操作(仅供引用:我使用它使用JiBX将对象编码为Java中的XML)。 最佳答案 假设当您说xsi:type时,您指的是来自“http://www.w3.org/2001/XMLSchema-instance”命名空间的“type”属性。它不是您添加到XML架构中的东西,它是一种保留的限定元素的方法(类似于Java中的强制转换)。为了使以下内容有效:您需要有一个XML架构,例如:...然后,当您的XML绑定(bind)解决方案编码对应于类型“hardPart”的对象时

Java : unable to marshal type "entities.Person" as an element because

在我的网络服务(使用RestEasy)项目中,我依赖于一个jar。我从那个jar中使用了一个java类:Person。我的问题是我需要将一个Person实例序列化为XML,但我收到以下错误:unabletomarshaltype"entities.Person"asanelementbecauseitismissingan@XmlRootElementannotation但是,我无法更改Person类以添加注释@XmlRootElement(它是第三方jar)。是否有任何其他方法(方法、库...)可以在不注释Person类的情况下将Person实例编码为XML?顺便说一句,这是我使用的

java - 编码时空元素的 JAXB 默认值

在编码JAXB对象时,我想为生成的XML设置一些默认值。我不想使用nillable=true,因为它会生成带有不必要的xsi:nil="true"的空标签,这不是为了设置默认值。相反,我想生成带有一些占位符字符(例如“?”)的XML。用例:我将构建一个用于Web服务测试的工具。我需要将整个请求xml呈现给用户(如SOAPUI)。 最佳答案 Usecase:IamgoingtobuildatoolforWebServicetesting.ThereIneedtopresenttheentirerequestxmltotheuser(L

java - 如何使用 JAX-B 处理接口(interface)的各种具体实现

我有一个类,我需要将其编码为XML。@XmlRootElement@XmlAccessorType(XmlAccessType.FIELD)publicclassClassToBeMarshalled{publicInterfaceobject;}接口(interface)由许多具体类实现,其中大部分是特定于供应商的,我无法访问其源代码。所以我的问题是:如果我尝试编码该类,JAX-B会提示当前接口(interface)的具体实现在上下文中未知-换句话说,具体类未通过调用提供的JAXBContext.newInstance加载到上下文中当前实现。解决该问题的最常见方法是:1)使用XMLS

xml - 在 Marshaller 上设置 CharacterEscapeHandler 变量在 CXF 中无法按预期工作

我正在使用ApacheCXF在服务器端实现一些Web服务。我必须实现一个WebService,它返回一个字符串(Holder),其中一些值由制表符分隔。ApacheCXF将字符选项卡编码为选项卡,但我们的客户端(无法更改...)不接受它,只读取编码为 的选项卡。.所以我试着简单地在字符串上做一个replaceAll来改变\t为 ,但是Marshaller上的escapeHandler将其更改为 .然后我尝试创建一个customCharacterEscapeHandler并在marshallcom.sun.xml.bind.marshaller.CharacterEscapeHan