-2

我想要以下 xml 输出并具有以下 xsd

<msgBody>
  <Contato>
   <cd_id>11</cd_id>
   <property key="name" value="Adde" />
   <property key="Phone" value="34343" />
   <property key="Address" value="address" />
  </Contato>
  <Contato>
  <cd_id>12</cd_id>
   <property key="name" value="BJ" />
   <property key="Phone" value="7899" />
   <property key="Address" value="sdfkjsdfsdf" />
  </Contato>
 </msgBody>

我有以下 xsd 我不知道如何允许拥有多个属性标签

    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="msgBody">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Contato" maxOccurs="unbounded" minOccurs="0">
              <xs:complexType>
                <xs:sequence>
                  <xs:element type="xs:int" name="cd_id"/>
                  <xs:element type="property_data_type" name="property"/>

                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>

<xs:complexType name="property_data_type">

  <xs:sequence>
   <xs:element type="xs:string" name="key"/>
   <xs:element type="xs:string" name="value"/>
</xs:sequence>


4

2 回答 2

0

尝试这个

 <xs:element name="msgBody">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="Contato"/>
      </xs:sequence>
    </xs:complexType>
</xs:element>
<xs:element name="contao">
    <xs:complexType>
       <xs:sequence>
              <xs:element type="xs:int" name="cd_id"/>
              <xs:element maxOccurs="unbounded" ref="propertytype"/>
        </xs:sequence>
    </xs:complexType>
 </xs:element>
 <xs:element name="propertytype">
     <xs:complexType>
         <xs:sequence>
               <xs:element type="xs:string" name="key"/>
               <xs:element type="xs:string" name="value"/>
         </xs:sequence>
     </xs:complexType>
</xs:element>
于 2013-04-22T15:42:43.960 回答
0

请添加maxOccurs.

 <xs:element type="property_data_type" name="property" maxOccurs="unbounded"/>

或者,您可以设置任何具体限制,例如:

 <xs:element type="property_data_type" name="property" maxOccurs="10"/>

这意味着您最多只能拥有 10 个属性元素。该<maxOccurs> 指标指定元素可以出现的最大次数。

在此处输入图像描述

于 2013-04-22T15:43:30.063 回答