如何创建Jaxb java类来处理类似的元素

如何创建Jaxb java类来处理类似的元素,java,jaxb,Java,Jaxb,我有一个模式: <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="get_item"> <xs:complexType> <xs:sequence> <xs:element t

我有一个模式:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="get_item">
    <xs:complexType>
      <xs:sequence>
        <xs:element type="xs:anyURI" name="imgpurl1"/>
        <xs:element type="xs:anyURI" name="imgurl1"/>
        <xs:element type="xs:string" name="imgcap1"/>
        <xs:element type="xs:anyURI" name="imgpurl2"/>
        <xs:element type="xs:anyURI" name="imgurl2"/>
        <xs:element type="xs:string" name="imgcap2"/>
        <xs:element type="xs:anyURI" name="imgpurlN"/>
        <xs:element type="xs:anyURI" name="imgurlN"/>
        <xs:element type="xs:string" name="imgcapN"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

用于此的xml如下所示:

<?xml version=“1.0”?>
<get_item>
 .......snip.......
<imgpurl1></imgpurl1>
<imgurl1></imgurl1>
<imgcap1></imgcap1>
…
<imgpurlN></imgpurlN>
<imgurlN></imgurlN>
<imgcapN></imgcapXN>
</get_item>

剪
…
其中,imgurl1…N可以有任意数量的元素。我不知道N可以/将是什么,所以我希望能够将其作为参数传递,并自动正确创建它

显然,从模式生成的Eclipse不提供这一点,所以如何修改创建的类,使它们能够处理N个元素


有没有一种方法可以使用自定义jaxb适配器以我需要的方式封送此消息?

您可以尝试以下方法:

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"  
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="get_item">
<xs:complexType>
   <xs:sequence>
      <xs:element type="xs:anyURI" name="imgpurl" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element type="xs:anyURI" name="imgurl" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element type="xs:string" name="imgcap" minOccurs="0" maxOccurs="unbounded"/>
   </xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>


您是否尝试过使用maxOccurs=“unbounded”在“get_item”序列下定义N个元素,以便这将是生成的Java类中的一个集合(N是不断增长的元素数,如imgurl、imgcap等)。@Dinakar请告诉我更多,这听起来很有希望,但我不明白。这是我对模式所做的吗?是的,模式应该更新。样本作为答案发布。希望这会有所帮助。这将创建多个和/或。我需要的是和。我需要它将索引号固定在元素名称的末尾。有没有办法构建一个自定义适配器来封送列表,并将索引固定在元素名称的末尾?如何定义另一个包含imgpurl、imgurl和imgcap的复杂类型?除非我能控制元素的名称,否则这并不重要。我需要能够在“imgurl”、“imgpurl”或“imgcap”的末尾加上一个整数。