c# - 在 WinRT - Windows 8 - Metro App 中上次编辑 xml 文件的时间

标签 c# datetime windows-8 windows-runtime xml-serialization

我的问题如下。我想知道是否有可能知道 xml 文件的最后编辑时间是多少。

目前我正在创建我的 xml 并通过以下方式从我的 xml 中读取:

这是写作部分,我正在序列化一个可观察的集合:

XmlSerializer xs = new XmlSerializer(typeof(ObservableCollection<DomExistingVacationDays>));
                using (IRandomAccessStream sessionRandomAccess = await VacationRequestOfflineHolidaysFile.OpenAsync(FileAccessMode.ReadWrite))
                {
                    using (IOutputStream sessionOutputStream = sessionRandomAccess.GetOutputStreamAt(0))
                    {
                        using (StreamWriter wr = new StreamWriter(sessionOutputStream.AsStreamForWrite()))
                        {
                            xs.Serialize(wr, _existingHolidaysCollection);
                        }
                    }

                }

这是读取部分,反序列化可观察集合:

 XmlSerializer xs = new XmlSerializer(typeof(ObservableCollection<DomExistingVacationDays>));
                using (IRandomAccessStream sessionRandomAccess = await VacationRequestOfflineHolidaysFile.OpenAsync(FileAccessMode.ReadWrite))
                {
                    using (IInputStream sessionInputStream = sessionRandomAccess.GetInputStreamAt(0))
                    {
                        using (StreamReader rd = new StreamReader(sessionInputStream.AsStreamForRead()))
                        {
                            _existingHolidaysCollection = xs.Deserialize(rd) as ObservableCollection<DomExistingVacationDays>;
                        }
                    }

                }

我想要实现的是,当 xml 文件中的数据比我们的一天早几天时,我不再希望使用它。

所以我可以在 xml 文件中添加一个日期时间,但我想知道是否没有任何其他解决方案可以解决此问题。

谢谢!

最佳答案

您可能会寻找 File.GetCreationTime(path) 和/或 File.GetLastWriteTime(path)(命名空间 System.IO)。

在 Win8 UI 应用程序中,您可能需要使用 StorageFile.GetBasicPropertiesAsync()。返回的 BasicProperties 包含 DateModifiedStorageFile.DateCreated 也可能很有趣。

关于c# - 在 WinRT - Windows 8 - Metro App 中上次编辑 xml 文件的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16686477/

相关文章:

caching - 寻求 Akavache 文档或示例

database - 我可以将 Entity Framework 或 Linq To SQL 与 Windows 8 Metro Style 应用程序一起使用吗?

c# - 使用 StringBuilder 和 DataTable,当只有一行时,如何在不中断的情况下返回三列中的多行?

ruby-on-rails - 我将如何存储可能是部分的日期(即只有年份,也可能是月份)并稍后以相同的规范输出它?

c# - 如何在 SQL Server 或 ASP.NET C# 中强制执行一定数量或范围的受影响行

python - 将本地时间转换为祖鲁时间以便比较时间

php - 确定第二天下午 6 点

c# - Windows 应用商店应用程序从文本文件读取

c# - 如何按特定顺序运行多个事件?

c# - 将程序集加载到 AppDomain