C# 如果xml反序列化失败,不要引发异常

C# 如果xml反序列化失败,不要引发异常,c#,xml-serialization,C#,Xml Serialization,App1使用System.xml.Serialization.XmlSerializer将某个类序列化为.xml文件 另一个App2需要解析多个xml文件,并且只处理App1从类A序列化的xml文件。 问题是有不同的.xml文件不是由App1创建的-只是一些xml-我在这段代码中有一个例外: // inside a loop FullTestResult newResult = new FullTestResult(); Stream stream = File.Open(file, F

App1使用System.xml.Serialization.XmlSerializer将某个类序列化为.xml文件 另一个App2需要解析多个xml文件,并且只处理App1从类A序列化的xml文件。 问题是有不同的.xml文件不是由App1创建的-只是一些xml-我在这段代码中有一个例外:

// inside a loop
FullTestResult newResult = new FullTestResult();    
Stream stream = File.Open(file, FileMode.Open);
serializer = new System.Xml.Serialization.XmlSerializer(typeof(FullTestResult));
newResult = (FullTestResult)serializer.Deserialize(stream);
stream.Close();

我尝试添加try-catch,但即使在尝试解析不相关的xml时出现异常,newResult也不是null。有没有简单的方法可以通过返回newResult=null或其他方式跳过那些无法解析的文件?

为什么不能将其包装到try…catch块中,并在发生异常时跳过?使用异常作为指示控制流的方法不是一个好主意。您有没有办法确定哪种XML属于您的类型?也许是一个特定的文件名?