草庐IT

java - Jaxb:如何生成 ObjectFactory 类?

我正在使用Java6、JaxB2和SpringSourceToolSuite(与Eclipse相同)。我编写了几个Java类,我从中使用JaxB生成XML模式。但是,我注意到为了使用JaxB从Java对象生成XML文档的能力,我需要一个ObjectFactory。finalMarshallermarshaller=jaxbContext.createMarshaller();//HereiswhereIdon'thaveanObjectFactorydefinedfinalJAXBElementwebLeadsElement=(newObjectFactory()).createWeb

java - 使用 JAXB 操作 XML 注释

我需要读取一个XML文件并根据某些条件对其某些元素进行注释或取消注释。文件开始是这样的:-->-->-->-->-->如果我想激活element1,element3和element5,该文件应如下所示:-->-->换句话说,我正在寻找一种方法来添加或删除-->符合条件的每个XML行中的标记。不幸的是,这种行为是必需的,无法更改。 最佳答案 我认为阅读评论和未评论会使这个问题变得复杂。更简单的方法是添加可以激活标签或停用标签的属性。不需要任何解决方法,只需将其标记为真或假即可。例如:-->-->-->-->-->可以转化为to.同样,

java - JAXB 将多个 XML 元素解码为单个类

我有以下XML结构,它正在跨多个XML元素对单个概念进行建模。这种格式不受我控制。1x2y1Channelname2Anotherchannelname我想在我可以控制的数据库中对此建模,并且可以有一个更简单的Channel表id,type和name领域。因此我想解码成一个List在Wrapper上类。这可以用@Xml...来完成吗?自动注释?我目前正在使用JAXB解码为单独的@XmlElement(name="Channel")和@XmlElement(name="ChannelName")类列表,然后对transient进行后处理ChannelName/name在Channel上但

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 - 未编码的字段为空

我们正在解码来自http://xmlgw.companieshouse.gov.uk/的响应.这是发送给编码的文本:......20COMPANYNAME23546457LIVEDISSOLVED//moreCoSearchItemelementsCoSearchItem的模型是这样的:@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="CoSearchItem",propOrder={"companyName","companyNumber","dataSet","companyIndexStatus","companyDate",

java - Tomcat 和 JAXB 内存泄漏

我已经追了好几天了。我们在我们的应用程序中使用JAXB,sun实现。当停止Tomcat(6或7)时,在catalina日志文件中记录了严重的内存泄漏,列出了我们应用程序中的所有JAXB类,两个不同包中的两组。我浏览了很多google和Stackoverflow链接。我使用了JProfiler,它告诉我Tomcat在不使用枚举时会保留枚举,但这不应该是问题所在。marshaller或unmarshaller的所有实例都在本地创建并设置为null以进行积极的GC。我确保在销毁servlet时JAXBcontext为空,并且在我的contextDestroyed中运行System.gc();

java - 是否有可能让 maven-jaxb-schemagen-plugin 与 Java 7 一起工作?

当我尝试将maven-jaxb-schemagen-plugin与java7一起使用时com.sun.tools.jxc.maven2maven-jaxb-schemagen-plugin1.2我得到一个错误:[ERROR]Failedtoexecutegoalcom.sun.tools.jxc.maven2:maven-jaxb-schemagen-plugin:1.2:generate(default)onprojectTopologyProvisionerDom:Executiondefaultofgoalcom.sun.tools.jxc.maven2:maven-jaxb-s

java - JAXB 分段编码

我在使用Marshaller.JAXB_FRAGMENT属性成功编码时遇到了一些问题。这是我尝试输出的XML的简单版本。...........和元素本质上只是包含大量的容器元素。&元素。我目前正在尝试编码.是否有可能最初编码和元素然后从那时起编码(marshal)在元素并将输出包含在中标签?当我在WorkSet级别编码时,它附加了xmlns='http://namespace.com'WorkSet标记的属性,有没有一种方法可以在不将命名空间属性附加到Workset的情况下进行编码? 最佳答案 基本上,这听起来不像是使用容器对象构建

java - JAXB 返回 null 而不是空字符串

如果内部XML属性值为空,我如何在解码时检索null值?现在我在getter中检查null:publicStringgetLabel(){if(label.isEmpty()){returnnull;}else{returnlabel;}}但可能存在其他更优雅的方式?谢谢。 最佳答案 我认为您的XML看起来或多或少像这样:不幸的是,这意味着您传递了一个空字符串。如果你想通过null你有两个选择:根本不要传递此标记(您的XML根本不应包含标记)。使用xsi:nil.如果使用xsi:nil,首先您必须将您的xml元素(在XSD文件中)声

java - 我如何使抽象类与 JAXB 一起工作

亲爱的Java程序员,我使用了http://www.vogella.com/articles/JAXB/article.html中的示例我的3个类UserStorage、User和UserTest的JAXBXML用法它工作正常,但它只是的unmarchialingJAXBContextcontext=JAXBContext.newInstance(UserStorage.class);Marshallerm=context.createMarshaller();m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,Boolean.TRUE);th