Ich habe eine XML-Datei mit folgendem Format:Umbenennen von Array-Elemente in einem flachen xml Array mit einem XmlSerializer
<?xml version="1.0" encoding="UTF-8"?>
<Items>
<Item Property1="A" Property2="B" />
<Item Property1="C" Property2="D" />
</Items>
Ich brauche die <Item>
Elemente als Objekte der Klasse lesen MyClass
eine XmlSerializer verwenden.
public class MyCLass
{
[XmlAttribute]
public string Property1 { get; set; }
[XmlAttribute]
public string Property2 { get; set; }
}
Derzeit habe ich den folgenden Code die Datei zu lesen:
XmlSerializer serializer =
new XmlSerializer(typeof(MyClass[]), new XmlRootAttribute(@"Items"));
MyClass[] list = (MyClass[])serializer.Deserialize(...);
Da der Elementname <Item>
unterscheidet sich von dem Klassennamen MyCLass
, die Elemente in der Anordnung sind überhaupt nicht deserialisiert. Der obige Code funktioniert, wenn ich MyClass
zu Item
umbenenne, aber leider bin ich nicht erlaubt, die XML-Datei oder die Klassennamen zu ändern.
Wie gehe ich über die Zuordnung der beiden, so dass die Datei korrekt gelesen werden kann?
Vielen Dank im Voraus!
Danke! Das funktioniert perfekt. – xmlWiz
Ich bin mir nicht so sicher, warum es funktioniert :-) Ich lief nach XmlArrayItem und XmlAttributeOverrides herum. Danke noch einmal! – xmlWiz