草庐IT

2Marshaller

全部标签

java - JAXB `beforeMarshal(Marshaller)` 方法应该返回什么?

首先,我不是在谈论Marshaller#Listener.我说的是那些classdefined事件回调。谁能告诉我booleanbeforeMarshal(Marshaller)方法应该返回什么?/***Whereisapidocsforthismethod?*WhatshouldIreturnforthis?*/booleanbeforeMarshal(Marshallermarshaller);我的意思是,无论如何,使用此方法将JPA的Long@Id转换为JAXB的String@XmlID使用JAXB-RI并且不使用MOXy.[编辑]void版本似乎可以工作。这只是文档问题吗?

java - 如何停止 Marshaller 类在我的输出文件中添加 XML 标记

我分两步编码我的对象。一个添加Header,另一个添加Body。现在当我使用这段代码时marshaller.marshal(payload,writer);//payloadisObjectsnameandwriterisStringWriterclassobjectXML标签,在最终输出文件中添加了两次。我怎么能不添加[]当我编码正文部分时第二次使用XML标记??我已经使用了Marshaller接口(interface)的所有属性,但这没有帮助。 最佳答案 这个问题的解决方案比我自己编写代码要简单得多。您需要在Marshaller

java - 如何配置 Spring-WS 以使用 JAXB Marshaller?

谢谢你到目前为止在这方面的帮助,我正在更新问题,因为我没有显示我需要的所有内容,并显示了建议的更改。肥皂输出仍然不是我想要的。servlet.xml我的注释类是什么样的@XmlRootElement(name="GetTemperaturesRequest")publicclassGetTemperaturesRequest{@XmlElement(required=true)protectedStringcity;@XmlElement(required=true)@XmlSchemaType(name="date")protectedListdate;publicStringget

java - 如何根据其运行时类型制作 JAXB Marshaller 编码抽象类?

考虑下面的抽象类-publicabstractclassCar{publicabstractvoiddrive(doublemiles);}这是一个扩展上述类的示例类(用于说明目的)。publicclassFerrariextendsCar{privateStringlastUsed;//FerrarispecificfieldnotinCarprivatebooleanf1Car;//FerrarispecificfieldnotinCar@XmlElementpublicvoidsetF1Car(booleanf1Car){this.f1Car=f1Car;}publicboole

java - 使用 org.springframework.oxm jaxb2marshaller 追加 CDATA

我在使用jaxb2marshaller使用CDATA将少数元素编码为XML时遇到了大麻烦。我已经完成了以下解决方案:JAXBMarshallingUnmarshallingwithCDATAHowtogenerateCDATAblockusingJAXB?等等,但找不到合适的解决方案。他们要么告诉切换到旧的JAXB实现,要么使用MOXY。但是,这不是我的要求。我使用OXM库实现了以下两个类,并希望生成一个XML,其中很少有元素需要附加CDATA。importjava.util.HashMap;importjava.util.Map;importorg.springframework.c

java - 使用 JAXB Marshaller 处理 XML 转义字符(例如引号)

我需要使用JAXB编码器(JAXB2.2版)将XMLjava对象序列化为XML文件。现在在xml对象中,我有一个包含Stringvalue的标签,这样:"**"done"**"现在您可以看到该字符串值再次包含标签。我希望在xml文件中以相同的方式编写它。但是JAXBMarshaller会转换这些值,例如:"&"lt;YYYYY"&"gt;"&"#xD;done...&等等我无法使用JAXB2.2分别处理这些转义字符有可能吗?在这方面的任何帮助都会很棒..提前致谢,阿比纳夫·米什拉 最佳答案 通过为JAXB编码器设置以下属性来完成:m

java - JAXB Marshaller 没有值为 null 的元素

当我使用JAXB编码器编码java对象时,编码器不会为java对象中的空文件创建空元素。例如,我有以下java对象:publicclassPersonTraining{@XmlElement(name="Val1",required=true)protectedBigDecimalval1;@XmlElement(name="Val2",required=true,nillable=true)protectedBigDecimalval2;@XmlElement(name="Val3",required=true,nillable=true)@XmlSchemaType(name="d

java - 如何使用 JAXB Marshaller 流式传输大文件?

我面临的问题是如何将大量对象编码到单个XML文件中,如此之大,我无法一步编码完整列表。我有一个方法可以以block的形式返回这些对象,但是我使用JAXB对这些对象进行编码,编码程序返回一个异常(exception),即这些对象不是根元素。这对于您想要一步编码完整文档的正常情况是可以的,但是如果我将JAXB_FRAGMENT属性设置为true,也会发生这种情况。这是所需的XML输出:...所以我假设我需要某种监听器来动态加载下一个重复元素block,以便在编码器编写根元素的结束标记之前将其提供给编码器。但是怎么做呢?到目前为止,我只使用JAXB来编码小文件,而JAXB文档并没有为该用例提

java - 如何使用 JAXB Marshaller 流式传输大文件?

我面临的问题是如何将大量对象编码到单个XML文件中,如此之大,我无法一步编码完整列表。我有一个方法可以以block的形式返回这些对象,但是我使用JAXB对这些对象进行编码,编码程序返回一个异常(exception),即这些对象不是根元素。这对于您想要一步编码完整文档的正常情况是可以的,但是如果我将JAXB_FRAGMENT属性设置为true,也会发生这种情况。这是所需的XML输出:...所以我假设我需要某种监听器来动态加载下一个重复元素block,以便在编码器编写根元素的结束标记之前将其提供给编码器。但是怎么做呢?到目前为止,我只使用JAXB来编码小文件,而JAXB文档并没有为该用例提

java - 为 spring Jaxb2Marshaller 指定一个包而不是 "classesToBeBound"

我正在尝试使用Jaxb2Marshaller来编码一组使用spring的java类。我知道这可以使用以下代码完成com.example.test1com.example.test2我想做的不是指定类列表,而是只指定包含所有类的包名(在上述情况下为com.example)。有没有人知道这样做的方法,或者任何其他不需要我列出所有类的方法。任何帮助将不胜感激!谢谢。 最佳答案 从Spring3.1(我认为)您还可以使用接受通配符的packagesToScan属性。它只是不适用于没有@XmlRootElement注释的元素,就像contex