Ich möchte eine Klasse in XML serialisieren und ihr ein XML-Attribut zuweisen. Snippet:Attribut nicht von XmlSerializer serialisiert
[XmlType(TypeName = "classmy")]
public class MyClass2 : List<object>
{
[XmlAttribute(AttributeName = "myattr")]
public string Name { get; set; }
}
public class MyConst
{
public MyConst()
{
MyClass2 myClass2 = new MyClass2 { 10, "abc" };
myClass2.Name = "nomm";
XmlSerializer serializer = new XmlSerializer(typeof(MyClass2));
serializer.Serialize(Console.Out, myClass2);
}
}
Aber die resultierende XML sieht wie folgt aus
<?xml version="1.0" encoding="IBM437"?>
<classmy xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<anyType xsi:type="xsd:int">10</anyType>
<anyType xsi:type="xsd:string">abc</anyType>
</classmy>
Alles schön und gut, mit der einzigen Ausnahme, dass myClass2.Name zu sein, ist nicht serialisiert. Ich war etwas in der Linie der
<classmy myattr="nomm" [...]>[...]</classmy>
erwarten ... Warum ist das nicht serialisiert, und wie kann es sein?
Haben Sie mit [Serializable] -Attribut über Ihrer Klasse dekoriert? – Rajesh
@Rajesh es wäre überhaupt nicht serialisiert * wenn nicht ... – James
@James Ich hatte das gleiche Problem, das er hat und als ich mit serializable dekoriert hat es das Problem gelöst. Besonders, wenn Sie versuchen, XMLs zu schreiben. – Rajesh