Java jaxb嵌套列表元素返回null

Java jaxb嵌套列表元素返回null,java,jaxb,Java,Jaxb,我正在尝试使用以下jaxb代码将xml转换为java对象。 当我解组xml文件时,我只获得Settings元素中version属性的值。连接值为空。 请帮我找出我的错误。我还可以添加哪些详细信息? PS:请原谅我的java初级知识 XML文件: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE xml> <Settings version="3" xmlns="urn:Adapter-v3"> <C

我正在尝试使用以下jaxb代码将xml转换为java对象。 当我解组xml文件时,我只获得Settings元素中version属性的值。连接值为空。 请帮我找出我的错误。我还可以添加哪些详细信息? PS:请原谅我的java初级知识

XML文件:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xml>
<Settings version="3" xmlns="urn:Adapter-v3">
    <Connections>
    <Connection name ="Dev" description="DEV">
      <Share version="CS" siteURL="https://example.com" />
    </Connection>    
    <Connection name ="Dev1" description="DEV1">
      <Share version="OM" siteURL="https://example.com" /> 
    </Connection>
</Connections>
</Settings>

您已经为
@XmlRootElement
指定了
名称空间
,但没有为其他元素指定名称空间
@xmlement(name=“Connections”)
将属性映射为
Connections
元素,不带命名空间

向所有其他元素添加
namespace=“urn:Adapter-v3”
,或者最好向包添加
package info.java

@javax.xml.bind.annotation.XmlSchema(
    namespace = "urn:Adapter-v3",
    elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.acme.foo;  

如果你观察我的代码,我有一个额外的Connections类,它位于Settings.class和COnnection.class之间。我可以避免这种情况,并执行类似于[XmlArray(ElementName=“Connections”,IsNullable=false)][XmlArrayItem(“COnnection”,typeof(COnnection),IsNullable=false]的实现吗在.net?@user9450093中,我猜您正在寻找
@xmlementwrapper
public class JAXB {
    public static void main(String[] args) {
        JAXBContext jaxbContext;
        Settings ha = null;
        File fileName = new File("Config.xml");

        try {
        jaxbContext = JAXBContext.newInstance(Settings.class);
         Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();

          ha = (Settings)jaxbUnmarshaller.unmarshal(fileName);
        }
        catch(JAXBException e) {
            e.printStackTrace();
}}
@javax.xml.bind.annotation.XmlSchema(
    namespace = "urn:Adapter-v3",
    elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.acme.foo;