dado este esquema XML (fragmento):¿El elemento de esquema de secuencia garantiza el orden de los elementos secundarios?
<xs:element name="GetIEnumerableResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="GetIEnumerableResult" nillable="true" xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" type="q4:ArrayOfstring" />
</xs:sequence>
</xs:complexType>
</xs:element>
En este fragmento xml:
<ArrayOfstring xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<string>string1</string>
<string>string2</string>
<string>string3</string>
</ArrayOfstring>
puede el <cadena> </cadena > elementos se producen en cualquier orden? Por lo tanto, son estos dos fragmentos de XML semánticamente equvalent:
<ArrayOfstring xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<string>string1</string>
<string>string2</string>
<string>string3</string>
</ArrayOfstring>
<ArrayOfstring xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<string>string3</string>
<string>string2</string>
<string>string1</string>
</ArrayOfstring>
o es el elemento de la secuencia en el esquema significa que la cadena < > </cadena > elementos tienen que ocurrir en el mismo orden que ser semánticamente equivalentes?
¿La presencia del en el esquema requiere que el analizador/deserializador mantenga los elementos en el orden en que existen en el texto xml? Si lo entiendo correctamente, normalmente (es decir, sin un esquema) no hay ningún requisito para hacerlo (incluso si la mayoría de los analizadores usualmente lo hacen).
Excelente respuesta, y la serialización de un índice es de hecho la solución original que utilicé. Creé una clase "OrderedList" que era esencialmente un diccionario de donde el int era el índice. Aparentemente esa fue la respuesta correcta. –
Mark