如何使用jaxb-xjc模式在生成的类中添加额外的方法

时间:2016-06-01 12:42:46

标签: java xml xsd jaxb

是否有办法在使用JAXB生成的类中有额外的方法...为了更具体,我想在我的.xsd文件中进行更改,而不是在“first.java”类中编写某些方法然后进行编写我的.xsd生成的类继承自“first.java”..我的目标是只修改我的.jaxb文件..那么我们可以用.xsd创建方法吗?

我有一个生成类的“.xsd”文件。我想知道除了getter和setter之外是否可以向这个生成的类添加一些其他方法。 我搜索教程和一些StackOverflow主题但我没有找到关于如何将自定义方法添加到XML Schema中描述的生成类的说明。

这是我的.xsd文件:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:jxb="http://java.sun.com/xml/ns/jaxb" jxb:version="2.1">
    <xs:element name="Myclass" />
    <xs:complexType name="Myclass">
        <xs:complexContent>
        </xs:complexContent>
    </xs:complexType>
</xs:schema>

这是使用此.xsd文件生成的类:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Myclass")
public class Myclass
{

}

以下是我想用

生成的类的示例
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Myclass")
public class Myclass
{
     public String method(){
                return "Hello";
       }
}

提前感谢:)

1 个答案:

答案 0 :(得分:0)

如果您从客户端收到XSD并且可以经常更改,我建议不要将XSD更改为设计决策。我建议使用JAXB文档中提到的java路由: https://javaee.github.io/jaxb-v2/doc/user-guide/ch03.html#compiling-xml-schema-adding-behaviors