0

我想得到一个xml结果,如下所示,它使用JAXB来获取java对象。

<Mall>
  <ProductInfo>
     <Product>
       <name>chair</name>
       <price>150</price>
     </Product>
 </ProductInfo>
</Mall>

为了得到这个结果,我制作了 3 个 java 类,它们是

  1. 定义XmlRootElement,XmlElement
  2. 产品组件(getter/setter)
  3. 插入组件值的主类

这样,我只能使用产品的XmlRootElement, XmlElement, 组件进行 3 个深度。

因此,我需要更多的深度。我尝试使用 aXmlElementWrapper来提供更多的深度,但出现错误,认为它不是收集属性……

请帮我解决这个问题...

4

1 回答 1

0

下面是应该工作的类结构

@XmlRootElement (name = "mall")
public class Mall {
    Mall(){  }

    @XmlElement(name="ProductInfo")
    private ProductInfo info; // must create getter and setter
    }
}

public class ProductInfo {  // you should be missing this
    ProductInfo(){
    }

    @XmlElement(name="Product")
    private List<Product> info; // must create getter and setter
    }
}

public class Product {
    Product(){
    }

    @XmlElement(name="name")
    private ProductInfo info; // must create getter and setter

    @XmlElement(name="price")
    private ProductInfo info; // must create getter and setter

    }
}
于 2019-02-20T06:34:17.060 回答