Ich möchte meinen Code ändern von:
string path = @"c:\Directory\test.xml";
XmlSerializer s = new XmlSerializer(typeof(Car));
TextReader r = new StreamReader(path);
Car car = (Car)s.Deserialize(r);
r.Close();
in Code, der ein XML in eine Zeichenfolge konvertiert und dann eine Zeichenfolge in das Objekt Car konvertiert.
Ist das möglich?
c#
xml
serialization
user278618
quelle
quelle
public static T XmlDeserializeFromString<T>(this string objectData) { return (T)XmlDeserializeFromString(objectData, typeof(T)); }
Ich werde den Hauptbeitrag bearbeiten.StringReader
ist das fehlende Stück. Vielen Dank.Wenn Sie das XML in einer Zeichenfolgenvariablen gespeichert haben, können Sie einen StringReader verwenden :
quelle
1-Liner, nimmt eine XML-Zeichenfolge
text
undYourType
als erwarteten Objekttyp. nicht sehr verschieden von anderen Antworten, nur auf 1 Zeile komprimiert:quelle
quelle
Schamlos aus der generischen Deserialisierung einer XML-Zeichenfolge kopiert
quelle