草庐IT

java - JAXB 编码 Java 以输出 XML 文件

问题是如何生成XML文件输出而不是system.out?packagejaxbintroduction;importjava.io.FileOutputStream;importjava.io.OutputStream;publicclassMain{/***@paramargsthecommandlinearguments*/publicstaticvoidmain(String[]args){//TODOcodeapplicationlogichereitemorder.BookquickXML=newitemorder.Book();quickXML.setAuthor("Sil

java - 将 JAXB 生成的类用于需要具有模式的整数的元素

我的XML架构中有一个元素定义如下:NumberCodeValueType在哪里:也就是说,我的号码可以以前导0开头。我无法修改此架构。我正在使用JAXB生成我的Java类。不幸的是,Code元素的访问器采用整数列表作为参数,这意味着所有前导0都被剥离(因为据我所知,在Java中没有办法保持前导0时使用整数类型)!有什么办法可以解决这个问题吗?感谢您的帮助! 最佳答案 您可以执行以下操作:数字格式器您可以通过编写自己的格式化程序来做到这一点:packageforum7182533;publicclassNumberFormatter

java - XML 序列的 JAXB 处理

我正在尝试使用Java7中附带的JAXB实现来处理一些XML文件。我正在使用这些版本:501~%xjc-versionxjc2.2.4502~%java-versionjavaversion"1.7.0_01"Java(TM)SERuntimeEnvironment(build1.7.0_01-b08)JavaHotSpot(TM)ServerVM(build21.1-b02,mixedmode)XML模式中有问题的声明如下:如您所见,在类型中有两次显式出现se:Value。但是,它不会停止使用xjc进行编译。如果我看一下为此类型生成的Java类,我可以看到理论上可以检索的元素使用以下

java - JAXB java.util.Map 绑定(bind)

我有一个Json响应,如下所示:{"data":[{"param1":"value1","param2":"value2",..."paramN":"valueN"}]}我不知道参数的名称和数量。因此,我需要并希望将所有这些参数绑定(bind)到一个由元组组成的java.util.Map字段。为此,我尝试了以下代码,但“parametersMap”字段返回null。@XmlRootElement(name="data")@XmlAccessorType(XmlAccessType.FIELD)publicclassParameters{@XmlElementprivateMappara

java - 继承和 JAXB 如何协同工作?

publicabstractclassParent{protectedListlist;@XmlTransient//Questionwhydowehavetogivethishere?publicabstractListgetList();publicabstractvoidsetList(Listlist);}@XmlRootElement(name="child1")classChild1extendsParent{@OverridepublicvoidsetList(Listlist){this.list=list;}@Override@XmlElementWrapper(na

java - 如何在返回多种 XML 类型的 URL 上使用 Spring RestTemplate 和 JAXB 编码

我需要对返回的服务进行RestPOST或并且总是状态码200.(蹩脚的第3方产品!)。我有这样的代码:Jobjob=getRestTemplate().postForObject(url,postData,Job.class);我的applicationContext.xml看起来像:domain.fullspec.Jobdomain.fullspec.Exception当我尝试进行此调用但服务失败时,我得到:Failedtoconvertvalueoftype'domain.fullspec.Exception'torequiredtype'domain.fullspec.Job'在

java - 我如何像 JAX-RS(CXF 和 Jersey)一样使用 JAXB 编码 java.util.List

这个问题在这里已经有了答案:IsitpossibletoprogrammaticallyconfigureJAXB?(1个回答)关闭7年前。最新的JAX-RS似乎可以处理将java.util.List作为XMLRootElement返回的方法,但普通的JAXB不能。我想模仿CXF和Jersey正在做的事情。换句话说,我想编码一个列表,就像CXF和Jersey一样。通常,如果您尝试使用JAXB编码列表,您会得到RootElement异常。如何在不必制作包装对象的情况下解决这个问题?编辑:感谢您提供的许多答案,但我对@XmlElementWrapper非常熟悉,但这甚至无法模拟JAX-RS

java - 使用JAXB编码时如何添加DOCTYPE和xml处理指令?

我正在编码(序列化)JAXBbean以输出流。如何在输出中添加DOCTYPE声明和xml处理指令?我目前正在做这样的编码:JAXBContextjaxbContext=JAXBContext.newInstance("com.example.package");Marshallermarshaller=jaxbContext.createMarshaller();marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,Boolean.TRUE);SchemaFactoryschemaFactory=SchemaFactory.ne

java - 如何防止 JAXB 转义字符串

我有一个对象,由XJC生成,名为Product。我想将product.currentPrice(aString)设置为£210其中£是货币符号(从系统的其他地方传入)。问题是,JAXB正在转义我的&符号,因此它生成了£210。我如何让它不这样做? 最佳答案 默认情况下,JAXB的编码器实现通常对字符进行转义。要更改此默认行为,您必须编写一个实现com.sun.xml.bind.marshaller.CharacterEscapeHandler接口(interface)的类。在Mars

java - JAXB/XJC 父子父导航

我想在子对象和父对象之间的类中使用双向导航方法。IDREF对我来说是不够的,因为我不想指定父文件的leid。明确地说,来自这样的xsd:我希望类看起来像这样:classA{...publicListgetB(){...}...}classB{...publicAgetA(){...}我的xml必须如下所示:...解码后,我希望能够将A导航到B以及从B导航到A(通过b.getA())!这是一个非常基本的功能,但我找不到实现该功能的简单方法...有什么想法吗??提前致谢 最佳答案 您可以createamethodvoidafterUnm