c# - uterino - Deserialización XML y elementos de matriz suelta
quiero saber sobre el prolapso (1)
No es solo eso?
[Serializable]
public class Root {
[XmlElement("ArrayType1")]
public List<ArrayType1> ArrayType1 {get;set;}
[XmlElement("ArrayType2")]
public List<ArrayType2> ArrayType2 {get;set;}
}
?
Alternativamente, simplemente coloque el xml en un archivo ("foo.xml") y use:
xsd foo.xml
xsd foo.xsd /classes
y mira los foo.cs generados
Así que estoy trabajando con algunos archivos XML que creo que están muy mal formados, y estoy tratando de averiguar cómo y si puedo usar el XmlSerializer para deserializar este XML en un objeto comercial lógico. Digamos que tengo el siguiente archivo XML:
<Root>
<ArrayType1 Name="Bob"/>
<ArrayType1 Name="Jim"/>
<ArrayType2 Name="Frank">
<SubItem Value="4"/>
</ArrayType2>
<ArrayType2 Name="Jimbo">
<SubItem Value="2"/>
</ArrayType2>
</Root>
Ahora me gustaría crear una clase que tenga estos tres tipos, Root, ArrayType1 y ArrayType2, pero me gustaría obtener dos listas en Root, una que contenga una colección de elementos ArrayType1 y otra que contenga una colección de elementos ArrayType2. pero parece que estos elementos necesitan tener algún tipo de raíz, por ejemplo, sé cómo deserializar lo siguiente:
<Root>
<ArrayType1Collection>
<ArrayType1 Name="Bob"/>
<ArrayType1 Name="Jim"/>
</ArrayType1Collection>
<ArrayType2Collection>
<ArrayType2 Name="Frank">
<SubItem Value="4"/>
</ArrayType2>
<ArrayType2 Name="Jimbo">
<SubItem Value="2"/>
</ArrayType2>
</ArrayType2Collection>
</Root>
Pero, ¿cómo podría deserializar esto sin los elementos principales de la colección ArrayType # que rodean los elementos # de ArrayType?
¿El Serializador XML incluso permitirá esto?