Ich versuche, die XmlSerializer Klasse in C# zu verwenden, um XML zu deserialisieren, das ich von jemandem ziehe. Leider sind sie ihr Wurzelelement haben „Mitarbeiter“ genannt, und dann werden die inneren Elemente innerhalb dieses Wurzelelement auch „Mitarbeiter“ genannt:Wie Deserialisieren XML-Datei mit verschachtelten Elementen des gleichen Namens, mit einem der Elemente sind root?
<Employee xmlns="http://www.testxmlns.com/employee">
<Employee>
<OtherElement>OE</OtherElement>
...
</Employee>
<Employee>
<OtherElement>OE</OtherElement>
...
</Employee>
</Employee>
konnte ich find another question that is very similar, aber nicht genau. Hier ist, was mein aktuelles Objekt wie folgt aussieht:
[XmlType("Employee")]
[XmlRootAttribute(Namespace = "http://www.testxmlns.com/employee", IsNullable = true)]
public class Employee
{
[XmlElement("Employee")]
public Employee[] InnerEmployee;
[XmlElement("OtherElement")]
public String OtherElement;
...
}
Wenn ich die folgenden ausführen, alles (keine Ausnahmen geworfen) zu funktionieren scheint, aber alles in dem zurückgegebene Objekt ist null, einschließlich der inneren Liste der Mitarbeiter Objekte, die
Employee retObj;
XmlSerializer serializer = new XmlSerializer(typeof(Employee));
using (TextReader sr = new StringReader(xmlString))
{
retObj = (Employee)serializer.Deserialize(sr);
}
return retObj;
Jede mögliche Hilfe würde geschätzt: nicht null sollte ich die Eingabe auf dem XML-basiert!