Lassen Sie uns sagen, dass ich den folgenden Code haben, und in den XML unter dem Code serialisiert werden soll:Pass String-Variable auf XmlAttribute von XMLSerializer
class Human
{
[XmlElement("OwnedObjects")]
public List<WorldObjects> ownedObjects;
}
class WorldObjects
{
[XmlIgnore]
public string type;
[XmlAttribute(type)]
public string name;
public WorldObjects(string _type, string _name)
{
type = _type;
name = _name;
}
}
Human bob = new Human;
bob.ownedObjects = new List<WorldObjects>;
bob.ownedObjects.Add(new WorldObjects(drink, tea));
// Serialize
XML:
<Human>
<OwnedObjects drink="tea" />
</Human>
Die Linie [XmlAttribute(type)]
führt in einem Fehler.
Gibt es trotzdem eine Änderung des Attributnamens durch Übergabe einer String-Variablen?
Vielen Dank im Voraus.
EDIT: Ich muss entschuldigen, dass ich eine so einfache Lösung übersehen. Danke für deine Antworten. Danke auch Ben und dbc für eine Verbesserung des Designs.
Warum wollen Sie nicht wie die Ausgabe haben: Diese Deserialisierung viel einfacher –
Ben
müssen Sie 'machen würde setzen Tippen Sie 'in doppelte Anführungszeichen, wie Sie es für das' XMLElement' getan haben. –