0

我编写了一个 WPF 应用程序,它从网络位置的 XML 文件中读取电影列表。当我开始调查缓慢的启动时,发现 XmlSerializer 有很多开销。

在发布项目之前,我现在已经使用 sgen 构建程序集,但我现在正在寻找更好的解决方案。我查看了 BinaryFormatter 类,但 XML 文件是由在 Linux 服务器上运行的 PHP 脚本创建的。

我会更好地使用 XML 文件阅读器并自己循环浏览文件,还是有更好的选择?我的目标是速度,所以欢迎任何替换我的 XmlSerializer 的建议。

这是反序列化文件的代码。

    public List<Movie> DeSerializeXmlObject(string filename)
    {
        List<Movie> movies;
        Stream stream = File.Open(filename, FileMode.Open);
        XmlSerializer s = new XmlSerializer(typeof(List<Movie>));
        movies = (List<Movie>)s.Deserialize(stream);
        stream.Close();
        return movies;
    }

我不知道如何附加文件,所以我将 XML 文件粘贴到了 pastebin。http://pastebin.com/Rxsy0R3c 谢谢本

4

1 回答 1

0

你做错事的可能性很大。即使解析 1MB 的 xml 也不会超过 1 秒。您能否将您的序列化和反序列化代码与您尝试解析的 XML 文件一起发布?

编辑:对不起,我想我帮不了你。您的代码和文件看起来不错。我现在看到的唯一选项是在后台工作人员中延迟加载此文件,然后在 GUI 线程中设置电影。

于 2010-10-23T11:13:46.813 回答