Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JAXB如何生成可能包含嵌套元素的元素?_Java_Xml_Jaxb - Fatal编程技术网

Java JAXB如何生成可能包含嵌套元素的元素?

Java JAXB如何生成可能包含嵌套元素的元素?,java,xml,jaxb,Java,Xml,Jaxb,如何使用JAXB生成以下结构?在我的例子中,我有一个动态属性列表,它可能有3种类型:整数、字符串或列表。但是,列表属性具有嵌套元素。我怎样才能做到呢 <settings> <setting type=”string” name="username">user1</setting> <setting type=”integer” name="age">25</setting> <setting type=”l

如何使用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”>foo</setting>
        <setting type=”string”>bar</setting>
    </setting>
</settings>

用户1
25
福
酒吧

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

这里有一个关于使用xjc从jaxb生成类的链接:

您希望您的班级是什么样的?一个集合中的所有设置对象,还是按类型分隔?