Hallo. Ich möchte ein xml file in ein Object deserialisieren mit dieser Funktion:
public static T Read(string fileName)
{
T ret = null;
try
{
using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read))
{
using (XmlReader xr = XmlReader.Create(fs, new XmlReaderSettings() { DtdProcessing = DtdProcessing.Prohibit }))
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
ret = (T)serializer.Deserialize(xr);
}
}
}
catch(Exception e)
{
throw;
}
return ret;
}
.
wenn ein & Zeichen im xml in der Daten steht, kommt zu einer InvalidOperationException bei den & Operator. wie kann man das umgehen und Spezielle Zeichens bei der Serialisierung unterstützen?
Einige Zeichen (u.a. &
) müssen 'escaped' werden: What characters do I need to escape in XML documents?
Anbei ist das try/catch in der Form Käase.
Wenn du die Exception nicht behandelst, brauchst du Sie dort auch nicht zu fangen.
Und ein try/catch nur mit throw macht 0 Sinn an der Stelle.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Ich habe die try und catch nur während des Tests eingefügt um die Exception zu sehen, wenn was schief geht. Ich teste die Funktion in ein Unit Test, oder kann man sie im Test sehen?
Selbst bei Mircosofts UnitTests in C# kannst du die Exception sehen.
Der Test lässt sich dann auch debuggen und damit auch Fehler direkt im Code prüfen.
Wenn der Test scheitert, zeigt dir der Test Explorer auch direkt in VS an wo und mit welcher Meldung es eine Exception gibt.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.