XML文件的部分反序列化

时间:2015-04-27 08:02:41

标签: c# xml

我有一个主XML模式,在

中有三个类
<jobs>
<job>
    <id>123-123-123-123</id>
    <aspect1>
        <...></...>
    </aspect1>
    <aspect2>
        <...></...>
    </aspect2>
    <aspect3>
        <...></...>
    </aspect3>
</job>
</jobs>

接收器类都设置得很好(如果所有三个方面元素都填充了它们各自的属性,那么它的读入没有问题)。如果在抛出XmlException时(例如)对象中缺少aspect2,则会出现问题。

我的XML阅读器很简单

    public static Jobs JobData;

    public static bool ProcessData()
    {
        try
        {
            var s = new XmlSerializer(typeof(Jobs));
            var r = new StreamReader(jobsapp.Singleton.AppContext.Assets.Open("schemaJobsV101.xml"));
            JobData = (Jobs)s.Deserialize(r);
            r.Close();
            return true;
        }
        catch (FileNotFoundException)
        {
            Console.Write("file not found");
            return false;
        }
        catch (InvalidOperationException)
        {
            Console.WriteLine("invalid operation");
            return false;
        }
    }

有没有办法读取XML文件以允许我只有一个元素(aspect1,2或3)?

0 个答案:

没有答案