【问题标题】:XSD FOR XML element multiple occurrencesXSD FOR XML 元素多次出现
【发布时间】:2015-07-02 06:22:05
【问题描述】:

我是 xsd 的新手,我想生成如下所示的 xml,其中 STUDENTRECORD 出现多次。我正在使用 jaxb 在 xsd 上生成类

<STUDENTDETAIL>
  <STUDENTINFORMATION>
    <STUDENTRECORD>
        <NAME>ABC</NAME>
        <CLASS>4</CLASS>
        <MAJOR>SCIENCE</MAJOR>
        <GRADE>A</GRADE>
    </STUDENTRECORD>
    <STUDENTRECORD>
        <NAME>DEF</NAME>
        <CLASS>4</CLASS>
        <MAJOR>SCIENCE</MAJOR>
        <GRADE>B</GRADE>
    </STUDENTRECORD>
</STUDENTINFORMATION>

我当前的 xsd 只生成一次 STUDENTRECORD。

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://webservice.com/WS" targetNamespace="http://webservice.com/WS" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Student" type="Student"/>
<xs:complexType name="Student">
    <xs:sequence>
        <xs:element name="STUDENTDETAIL">
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="STUDENTINFORMATION">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element name="STUDENTRECORD">
                                    <xs:complexType>
                                        <xs:sequence>
                                            <xs:element type="xs:string" name="NAME"/>
                                            <xs:element type="xs:string" name="CLASS"/>
                                            <xs:element type="xs:string" name="MAJOR"/>
                                            <xs:element type="xs:string" name="GRADE"/>
                                        </xs:sequence>
                                    </xs:complexType>
                                </xs:element>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    </xs:sequence>
</xs:complexType>

请帮忙解决。

谢谢

【问题讨论】:

    标签: java xml xsd jaxb


    【解决方案1】:

    您只需要在 STUDENTRECORD 元素声明上设置maxOccurs 属性,如下所示:

    <xs:element name="STUDENTRECORD" maxOccurs="unbounded">
    

    这将允许&lt;STUDENTRECORD&gt; 多次出现。默认情况下,给定元素需要出现一次。

    同样,您可以设置minOccurs 属性来指定元素的最小出现次数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 2021-03-21
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多