草庐IT

java - 使用 jaxb 将 java 对象转换为 xml,反之亦然(编码和解码)

我假设有一个名为save()的方法,它应该将右侧面板中的计算机部件列表编码到一个XML文件中。相反,另一个名为load()的方法应该将保存的XML文件解码回一个对象。基本上,“保存”事件将调用save()方法并将右侧面板中的部件列表保存到XML文件中。“加载”事件应清除右侧面板,并调用load()方法。调用load()时,它应该在右侧面板中显示未编码的数据。我让“退出”开始工作。虽然我很难搞清楚“加载”和“保存”部分。importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassPCPartsimpleme

java - 如何告诉 JAXB 添加 noNameSpaceSchemaLocation 属性

我有一个特定的类层次结构,它使用JAXB转换为XML。我希望创建的XML在头部元素中具有xsi:noNamespaceSchemaLocation和xmls:xsi属性(xsi:noNamespaceSchemaLocation="Something.xsd"xmls:xsi="http://www.w3.org/2001/XMLSchema-instance”)。我不希望JAXB以任何方式使用模式-只需存储这些属性和值。这个有具体的注解吗?我可以只创建一个常量XmlAttribute但它似乎是错误的...谢谢 最佳答案 您可以在M

java解码LocalDateTime

这是我的适配器类:publicclassLocalDateTimeAdapterextendsXmlAdapter{@OverridepublicLocalDateTimeunmarshal(Stringv)throwsException{returnnewLocalDateTime(v);}@OverridepublicStringmarshal(LocalDateTimev)throwsException{returnv.toString();}}这是我要存储日期的对象类:@XmlAccessorType(XmlAccessType.FIELD)publicclassObject{

java - 有什么方法可以获取给定 Java 类型的 XSD 类型?

我正在使用JavaTypes,我想将JavaType转换为XsdType。我没有找到一个简单的方法来做到这一点,最后创建了一个给定JavaType返回关联的XsdType的方法。例子:toXsdType(String.class.getName());-->"xsd:string"为了实现这一点,我正在做一个丑陋的switch语句。是否有使用JAXB或其他库的简洁方法? 最佳答案 您可能对TypeInfoSet.getTypeInfo(Ttype)感兴趣,它为您提供给定Java类型的XML类型。TypeInfoSet可以通过JAXB

java - 使用 maven-jaxb2-plugin 获取 boolean 变量

我正在努力从xsd生成stub文件。但是,生成的stub文件具有生成为isXX()而不是getXX()的booleangetter。publicclassTask{@XmlAttribute(name="IsFailure")protectedBooleanisFailure;publicBooleanisIsFailure(){returnthis.isFailure;}}如何修改boolean变量的getter名称?我需要生成getIsFailure()而不是isIsFailure() 最佳答案 您可以在maven插件中使用en

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 - 无法让 JAXB 通过简单示例处理接口(interface)

我正在尝试在UnofficialJAXBGuide-Mappinginterfaces—ProjectKenai中显示的JAXB接口(interface)的简单示例,第3.2.1节,它对我不起作用。我在最新的JDK1.8_70中并且没有使用任何特殊的库。为了完整起见,代码:@XmlRootElementclassZoo{@XmlAnyElementpublicListanimals;}interfaceAnimal{voidsleep();voideat();...}@XmlRootElementclassDogimplementsAnimal{...}@XmlRootElementc

java - 无法使用捆绑的 Jaxb for Intellij 生成 Java 代码

我必须使用XSD验证修改项目。我有一个XML,我通过Intellij将它转换为XSD,然后使用JAXB工具生成相关代码。一切都很好。但由于项目需要,我不得不修改我的XML的整个结构,我做到了。我也生成XSD。但是,当我尝试通过jaxb工具生成Java代码时,这是不可能的。当我点击这个jaxb工具时,它生成了另一个XSD。我怎样才能再次生成代码?谢谢!这是我的XSD。 最佳答案 您面临的问题是一个已知问题,这是因为您有一个名为value的属性,它是一个protected名称,因此您需要将其指定为xjc它必须使用不同的名称,这可以通过在

java - 根据 xml 模式验证 xml 文件

这是关于根据XML模式(例如:schemafile.xsd)验证XML文件(例如:marshalledfile.xml)。我们正在使用jaxb将java对象编码到xml文件中。最好的方法是什么?谁能举个简单的例子说明如何做?感谢您的帮助。谢谢,阿洛 最佳答案 您可以直接在Marshaller中设置Schema。首先,您需要创建一个Schema实例(javax.xml.validation包):SchemaFactoryfactory=SchemaFactory.newInstance(XMLConstants.W3C_XML_SCH

java - 如何从 XML 文件创建对象图?

我有一个XML文件。它可能是这样的:JoniSmithFinland...lotsofelements...我的目标是创建类Person。我怎样才能“自动”做到这一点?我想我已经使用一些MavenCastor插件从XML文件创建了一个非常复杂的对象图,而不需要很多努力。但是,我不记得那个插件是什么,也确实不记得我究竟是如何使用它的。我也很高兴了解您可能知道的其他(可能更好的)工具。 最佳答案 我同意使用JAXB。StartingfromXMLSchema(从XML模式生成类)您可以使用JAXB从XML模式生成Java源代码。以下是使