草庐IT

java - XStream 或简单

我需要决定使用哪一个。我的情况很简单。我需要将一个简单的POJO/Bean转换为XML,然后再转换回来。没什么特别的。我正在寻找的一件事是它也应该包括父属性。最好是它可以在父类(superclass)型上工作,它可以只是一个标记接口(interface)。如果有人能比较这两者的优缺点,哪个缺少哪个。我知道XStream也支持JSON,这是一个加号。但是Simple如果我们把JSON放在一边,看起来更简单。Simple在发展和社区方面的future是什么?我相信XStream非常流行,甚至“XStream”这个词也在SO上引起了很多讨论。谢谢。 最佳答案

java - 使用已定义的根(起始)元素将 DTD 转换为 XSD

我有几个大的DTD文件。我用过trang将它们转换为XSD文件,这样我就可以轻松地从JAXB和其他实用程序中使用它。但是,生成的XSD文件的所有声明元素都位于顶层。这意味着任何元素都可以是输入XML的根元素。我只想指定一个特定的元素。拥有这些多个根元素会导致一些问题,例如xjc生成@XmlRootElement对于所有类,所以我需要添加更多额外的检查。据我了解,我需要重写生成的XSD,移动s至s,改变elementref进入elementtypes等等,但这将是太多的猴子工作,无法验证是否所有操作都正确。有没有更有效的方法来做到这一点? 最佳答案

java - 如何使用具有类似结构的类容器元素的 JAXB 避免代码重复

情况我正在使用MOXy的JAXB实现来处理一个大型XML文档,该文档的架构具有许多类似的复杂类型。具体来说,大约有两打类型充当具有以下结构的列表包装器元素:......对于这些类似列表包装器的元素中的每一个,名称都会发生变化,并且所包含的列表元素也会发生变化。但是,属性(都是可选的)和单个EXTENSION元素(也是可选的)始终存在。下面是其中两种类型的使用示例:JoeHere问题我想避免代码重复,因为这些元素之间唯一发生变化的是名称及其包含的一个或多个元素。执行此操作的最佳方法是什么?我只能看到两种可能的解决方案。1使用泛型创建具体类以指示要在发生变化的集合中使用的对象类型。然后使用

java - NoClassDefFoundError : Unable to load class groovy. xml.jaxb.JaxbGroovyMethods 由于缺少依赖项 javax/xml/bind/Unmarshaller

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion我们的Gradle构建有--add-modules=java.xml.bind,java.activation,java.xml.ws.annotation至options.compilerArgs在JavaCompile使用JDK9/10构建。现在效果很好,但这些模块已被弃用。我想为JDK11做准

java - 为什么 WildFly 控制台日志会劫持我的 WAR 的 log4j 日志?

我有7个不同的WAR部署到同一个WildFly/JBoss服务器。每个WAR在核心设计和Log4j配置上都是相同的。每个WAR通过其自己的自定义log4j.xml生成自己的日志文件。每个日志都写入单独的文件夹。7个部署的WAR中有1个不断获取日志记录,被WildFly的console.log劫持。它会在初始化期间开始写入自己的日志5-10行,然后停止;其余的日志记录将定向到console.log。如果我在发生这种情况后重新安装WAR,它将写入自己的个人日志和WildFlyconsole.log。如果我重新启动WildFly,它的行为将如前所述-开始记录到它自己的日志,然后在consol

java - RESTful Spring3 应用程序中对象集合的通用返回对象

我正在寻找一种在我的REST服务中返回一组对象的通用方法。我使用Spring3消息转换器和@ResponseBody注释。一些网站说JAXB2在返回标准java.util.List时有“问题”,并且找到的所有示例都为每个数据域定义了一个专用类(例如作者、产品、客户),例如:http://www.ibm.com/developerworks/web/library/wa-spring3webserv/index.html(参见“资源收集”,第二段)有没有人找到一种方法来为此提供一个通用类/方法,让我无需创建所有这些集合类?2011年4月5日更新:我在这方面还没有真正取得任何进展。返回通用

java - JAXB:仅为 XSD 类型的子集生成 Java 类

我有几个巨大的XML模式定义(XSD)文件,我只想为已定义类型的一个子集生成相应的Java类。更准确地说,我有一个“根”类型列表,我想将其转换为Java类,包括这些根类型所需的所有类型。是否可以在JAXB绑定(bind)文件中定义一些“根”类型,并告诉JAXB仅将它们及其所有依赖类型转换为Java类,而忽略所有其他不必要的类型?提前致谢。 最佳答案 可能有一种更直接的方法,但一种方法是制作XSD的副本并从副本中删除所有XML类型,但您想要的根类型及其依赖项除外。然后在副本而不是原始副本上应用xjc。您可以使用XSLT和构建自动化工具

java - WSDL 客户端中的 CDATA 元素

我正在做一个WSDL客户端,想知道如何将XML元素设置为CDATA。我正在使用wsimport生成源代码,CDATA元素是请求XML的一部分。这是请求的XML类:@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="",propOrder={"dataRequest"})@XmlRootElement(name="ProcessTransaction")publicclassProcessTransaction{protectedStringdataRequest;publicStringgetDataRequest(){returnd

java - 使用 JAXB 编译多个包含相同元素的重复定义的 XSD

问题:我如何让xjc/Jaxb为同一命名空间中包含重复元素定义的多个模式生成适当的java类?信息:我有三个.xsd架构:A、B和C。它们都具有相同的目标namespace。它们都是给我的3个shemas,我不能以任何可能的方式以任何方式更改它们。他们A有一些在B或C中也存在的元素(但A也有很多self声明的元素)示例:这是A和C的相同“代码”:当使用xjc将它们编译成javaclasses时,出现以下异常:[ERROR]'y_ym_ymdDatoType'isalreadydefinedline297offile:../c.xsd[ERROR](relatedtoaboveerror

java - XSD 生成一个 MAP<String, Boolean> 属性

我正在尝试从包含Map的XSD文件生成java类.我读过教程(http://todayguesswhat.blogspot.co.uk/2012/09/jaxb-xsd-to-java-maphashmap-example.html),其中说我必须使用Adapter和Binding才能获得预期的结果。但由于某种原因,生成后的属性是List而不是Map.你能帮我找出我的错误吗?谢谢!我的XSD架构:我的绑定(bind)文件:StringBooleanMap.javapackagecom.company.support.jaxb;importjava.util.HashMap;import