使用DTD文件中的JAXB生成Java类 – 如何修改DTD?
我想使用JAXB从dtd文件生成Java类。
dtd看起来像这样:
使用JAXB生成类时,我得到以下内容:
- 的ObjectFactory
- 内容
- 人
- 人
- 组
- 组
在Content类中,检索所有人和组的方法是
public List getPersonOrGroup() { if (personOrGroup == null) { personOrGroup = new ArrayList(); } return this.personOrGroup; }
我可以在dtd文件中更改任何Content
,因此Java类的生成将使persons
和groups
在Content
java类中分离,因此要检索所有人员和组将调用Content.getPersons()
和Content.getGroups()
分别?
在他的回答中,mavrav似乎告诉DTD这是不可能的。 我不太清楚如何使用DTD。 但是,如果可以,请在XML模式中翻译您的DTD。
我试着用这个谢玛:
在使用以下cmd生成Java类之后:
xjc -p com.mypackage schema.xsd
它为我提供了以下Content类的代码:
@XmlRootElement(name = "content") public class Content { @XmlElement(required = true) protected List
xjc -dtd -d generatedsrc -p com.examples log4j.dtd
将生成目录generatedsrc中的类,使用的包将是com.examples。
您可以在此处找到更多信息: http : //www.javaworld.com/community/node/7622