XML模式问题:重复元素不重复

时间:2012-10-05 21:04:04

标签: xml xsd

我有一个非常标准的xml架构,定义了一个应该重复的名为“part”的元素。

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="part">
  <xs:complexType>
   <xs:sequence>
   <xs:element name="part_number" type="xs:string"/>
   <xs:element name="price" type="xs:decimal"/>
  </xs:sequence>
 </xs:complexType>
</xs:element>

</xs:schema>

问题是,当我使用此架构导出价目表时,我得到了这个:

<?XML version="1.0" encoding="UTF-8" standalone="yes"?>
<part>
<part_number>10-000</part_number>
<price>151.8</price>
</part>

当我想要多个<part>元素时。 我在哪里弄乱了架构?

2 个答案:

答案 0 :(得分:4)

  <xs:element name="parts">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="part" maxOccurs="unbounded" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="part_number" type="xs:string"/>
              <xs:element name="price" type="xs:decimal"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

http://www.w3schools.com/schema/schema_example.asp

答案 1 :(得分:2)

你的元素需要maxOccurs =“unbounded”,因为maxOccurs的默认值是1。

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