Chcę zmienić swój kod z:
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();
na kod, który przekształciłby XML w ciąg znaków, a następnie przekształciłby łańcuch w obiekt Car.
czy to możliwe?
c#
xml
serialization
user278618
źródło
źródło
public static T XmlDeserializeFromString<T>(this string objectData) { return (T)XmlDeserializeFromString(objectData, typeof(T)); }
Zamierzam edytować główny post.StringReader
to brakujący element. Dzięki.Jeśli masz XML przechowywany w zmiennej łańcuchowej, możesz użyć StringReader :
źródło
1-liner, przyjmuje ciąg XML
text
iYourType
jako oczekiwany typ obiektu. niezbyt różni się od innych odpowiedzi, po prostu skompresowany do 1 linii:źródło
źródło
Bezwstydnie skopiowane z ogólnej deserializacji ciągu XML
źródło