jaxb - 添加列表元素(maven-plugin)

时间:2015-02-25 16:59:40

标签: java xml maven jaxb

我使用jaxb生成了我的类,现在我需要填充一些列表。最好的方法是什么?

的pom.xml:

         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxb2-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>xjc</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <schemaDirectory>${basedir}/src/main/resources/META-INF/xsd</schemaDirectory>
                    <packageName>be.structure</packageName>
                <outputDirectory>${basedir}/target/generated/java</outputDirectory>
            </configuration>
        </plugin>

列表所在的生成类:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "configuration", propOrder = {
"professions"
})
public class Configuration {

protected List<Profession> professions;

public List<Profession> getProfessions() {
    if (professions == null) {
        professions = new ArrayList<Profession>();
    }
    return this.professions;
    }
}

但是你可以看到没有&#34; addProfession&#34;或&#34; setProfessions()&#34;或者其他的东西。我知道有办法,但我真的不记得了。

1 个答案:

答案 0 :(得分:0)

如果底层列表是可变的,

getProfessions().add(profession)应该可以做到这一点,但通常你不会改变JAX实例的内容,因为JAXB根据读取的XML数据为你填充对象 - 如果你改变了那个列表,它不再代表XML了。