versucht zu serialisieren und Deserialisieren von entity-Objekt in c#
Ich bin mit beiden folgenden Methoden zum serialisieren/Deserialisieren von entity framework-Objekt (ver. 4.0).
Ich habe versucht, mehrere Möglichkeiten, dies zu erreichen, und hatte kein Glück. Serialisierung funktioniert. Ich bekomme nette xml-formatierten string, aber wenn ich versuche zu Deserialisieren ich bekomme Fehler in der XML. Wie ist das möglich?
Dank.
public static string SerializeObject(Object obj)
{
XmlSerializer ser = new XmlSerializer(obj.GetType());
System.Text.StringBuilder sb = new System.Text.StringBuilder();
System.IO.StringWriter writer = new System.IO.StringWriter(sb);
ser.Serialize(writer, obj);
XmlDocument doc = new XmlDocument();
doc.LoadXml(sb.ToString());
string xml = doc.InnerXml;
return xml;
}
public static object DeSerializeAnObject(string xml, Type objType)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
XmlNodeReader reader = new XmlNodeReader(doc.DocumentElement);
XmlSerializer ser = new XmlSerializer(objType);
object obj = ser.Deserialize(reader);
return obj;
}
- was ist der Fehler???
- Warum sind Sie mit der Serialisierung eine
object
; Sie serialisieren können Ihre benutzerdefinierten Typ zu Xml... - Fehler: Es ist ein Fehler im XML-Dokument. Message=<ArrayOfProfileItemValidAnswerXref xmlns="> war nicht zu erwarten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich die Verwendung generischer Methoden zum serialisieren und Deserialisieren:
ich DENKE, das Problem ist diese Zeile:
du willst, dass ALLE xml -, nicht nur die xml in den root-Knoten.
Nur zurück
sb.ToString()
, laden in denXmlDocument
ist nichts zu tun.Einige Redundanzen und aufzuhalten der Benutzung ausgeschlossen wurde. Überarbeitete und aufgeräumt:
public static string SerializeObject<T>(this T toSerialize)
stattpublic static string SerializeObject<T>(T toSerialize)
.