2011-01-19 18 views
8

¿Cómo puedo representar una lista de objetos en XSD, por ejemplo, dado un XML como este?Representar una lista de objetos en XSD

<msgBody> 
    <Contato> 
    <cdEndereco>11</cdAreaRegistro> 
    <cdBairro>99797781</nrLinha> 
    <email>[email protected]</email> 
    </Contato> 
    <Contato> 
    <cdEndereco>11</cdAreaRegistro> 
    <cdBairro>99797781</nrLinha> 
    <email>[email protected]</email> 
    </Contato> 
</msgBody> 

¿Cómo puedo fusionarlo en una lista del tipo de objeto Contato?

+5

no es tal XML un poco mal formado , por ejemplo, 11

Respuesta

11

que puede sugerir el siguiente esquema (a pesar de que el código XML se rompe tan pegado):

<?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 maxOccurs="unbounded" ref="Contato"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
    <xs:element name="Contato"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element ref="cdEndereco"/> 
     <xs:element ref="cdBairro"/> 
     <xs:element ref="email"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
    <xs:element name="cdEndereco" type="xs:integer"/> 
    <xs:element name="cdBairro" type="xs:integer"/> 
    <xs:element name="email" type="xs:string"/> 
</xs:schema> 
+0

hola, intentaré esto, y sí, el xml que pego aquí es solo una parte del xml completo. Gracias – elf

6

utilizar una secuencia como se muestra a continuación:

<?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="cdEndereco"/> 
       <xs:element type="xs:int" name="cdBairro"/> 
       <xs:element type="xs:string" name="email"/> 
      </xs:sequence> 
      </xs:complexType> 
     </xs:element> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 
Cuestiones relacionadas