1

我有一个非常标准的 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>元素时。我在哪里搞砸了架构?

4

2 回答 2

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

于 2012-10-05T21:19:52.830 回答
2

您的元素需要 maxOccurs="unbounded" 因为 maxOccurs 的默认值为 1。

<xs:element name="part" maxOccurs="unbounded">
于 2012-10-05T21:09:20.683 回答