2

如何使用 JAXB 生成以下结构?就我而言,我有一个动态属性列表,它可能有 3 种类型:整数、字符串或列表。但是,列表属性具有嵌套元素。我怎样才能实现它?

<settings>
    <setting type=”string” name="username">user1</setting>
    <setting type=”integer” name="age">25</setting>
    <setting type=”list” name="list">
        <setting type=”string”&gt;foo</setting>
        <setting type=”string”&gt;bar</setting>
    </setting>
</settings>
4

1 回答 1

0

最好的方法是为您的 XML 格式生成 XSD。然后运行 ​​jaxb 以针对 XSD 生成代码。您可以手动创建带有 JAXB 注释的类,但 XSD 可能更容易,并且可以用于多种(有价值的)用途。最重要的是,它会帮助您了解您的数据格式是否有意义。例如,听起来您有字符串、整数列表?在这种情况下,您的 XSD 将具有选择元素。自动生成的 jaxb 代码会处理这个问题。编写 XSD 将有助于确保您的数据格式有意义。它可用于验证输入是否与您所需的格式匹配。然后您从中生成 jaxb 代码。

这是使用 xjc 从 jaxb 生成类的链接: 如何从 XSD 生成 JAXB 类?

于 2013-05-17T16:19:07.183 回答