gpt4 book ai didi

java - 使用 JAXB 从 DTD 文件生成 Java 类 - 如何修改 DTD?

转载 作者:数据小太阳 更新时间:2023-10-29 01:52:55 29 4
gpt4 key购买 nike

我想使用 JAXB 从 dtd 文件生成 Java 类。

dtd 看起来像这样:

<!--Contents-->
<!ELEMENT persons (header, content) >
<!ELEMENT groups (header, content) >

<!--Header-->
<!ELEMENT header (version) >
<!ELEMENT version(#PCDATA) >

<!--Content-->
<!ELEMENT content(person, group)* >

<!--Person-->
<!ELEMENT person(p_id, p_name) >
<!ELEMENT p_id (#PCDATA) >
<!ELEMENT p_name (#PCDATA) >

<!--Group-->
<!ELEMENT group(g_id) >
<!ELEMENT g_id(#PCDATA) >

使用 JAXB 生成类时,我得到以下类:

  • 对象工厂
  • 内容
  • 个人
  • 团体

在内容类中,检索所有人员和组的方法是

public List<Object> getPersonOrGroup() {
if (personOrGroup == null) {
personOrGroup = new ArrayList<Object>();
}
return this.personOrGroup;
}

我可以在 dtd 文件中更改什么以便生成 Java 类将使 personsgroupsContent 中分开java 类,所以要检索所有人员和组将分别调用 Content.getPersons()Content.getGroups()

最佳答案

xjc -dtd -d generatedsrc -p com.examples log4j.dtd

将在目录 generatedsrc 中生成类,使用的包将是 com.examples。

您可以在这里找到更多信息: http://www.javaworld.com/community/node/7622

关于java - 使用 JAXB 从 DTD 文件生成 Java 类 - 如何修改 DTD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10312159/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com