Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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实例生成xml_Java_Xml_Jaxb - Fatal编程技术网

Java 如何使用单个jaxb实例生成xml

Java 如何使用单个jaxb实例生成xml,java,xml,jaxb,Java,Xml,Jaxb,我想使用一个jaxb marshaller实例生成以下xml结构 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ABC>//root element <BCD> <DEF> <EFG>xyz</EFG> <FGH> <GHI>PAS

我想使用一个jaxb marshaller实例生成以下xml结构

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ABC>//root element
    <BCD>
        <DEF>
            <EFG>xyz</EFG>
            <FGH>
                <GHI>PASSWORD_1</GHI>
                <HIJ>false</HIJ>
            </FGH>
        </DEF>
    </BCD>
    <CDE/>
</ABC>
<ABC>//root element
    <BCD>
        <DEF>
            <EFG>xyz</EFG>
            <FGH>
                <GHI>PASSWORD_2</GHI>
                <HIJ>false</HIJ>
            </FGH>
        </DEF>
    </BCD>
    <CDE/>
</ABC>
<ABC>// root element
    <BCD>
        <DEF>
            <EFG>xyz</EFG>
            <FGH>
                <GHI>PASSWORD_3</GHI>
                <HIJ>false</HIJ>
            </FGH>
        </DEF>
    </BCD>
    <CDE/>
</ABC>

//根元素
xyz
密码1
假的
//根元素
xyz
密码2
假的
//根元素
xyz
密码3
假的

上面的结构节点ABC是根节点,我想在同一个文件中为列表中的多个记录重复该节点。在JaxB中有这样做的方法吗?

您不能,因为这是无效的XML。XML文档必须只有一个根元素。

您不能,因为这是无效的XML。XML文档必须只有一个根元素。

您有一个
ABC
对象,它有一个
BCD
对象,它有一个
DEF
对象,它有一个字段
EFG
和一个对象
FGH
。这有两个字段,即
GHI
HIJ
是,ABC是我的根元素。在这个层次结构下,在封送处理之后,我想重复根元素ABC的结构,但是密码的值不同,但应该在同一个xml文件中。似乎JAXB需要一个唯一的根元素。我没有发现有多个根元素的示例。但我也没有发现根元素必须是唯一的定义。因此,我认为您只需尝试一下您的示例。因此,您必须构建您的
列表
,它包含相应的
ABC
对象,您可以通过构建ABC对象列表来实现这一点,但它会抛出以下错误javax.xml.bind.jaxbeexception:class java.util.ArrayList,它的任何超类在此上下文中都是未知的。您有一个
ABC
对象,它有一个
BCD
对象,它有一个
DEF
对象,它有一个字段
EFG
和一个对象
FGH
。这有两个字段,即
GHI
HIJ
是,ABC是我的根元素。在这个层次结构下,在封送处理之后,我想重复根元素ABC的结构,但是密码的值不同,但应该在同一个xml文件中。似乎JAXB需要一个唯一的根元素。我没有发现有多个根元素的示例。但我也没有发现根元素必须是唯一的定义。因此,我认为您只需尝试一下您的示例。因此,您必须构建您的
列表
,它包含相应的
ABC
对象,您可以通过构建ABC对象列表来实现这一点,但它抛出以下错误javax.xml.bind.JAXBException:class java.util.ArrayList,它的任何超类在此上下文中都不为人所知。我不知道我是如何通过非标准编程实践做到这一点的。我不知道,但有些人知道我是如何通过非标准编程实践做到这一点的。