【发布时间】:2011-10-24 18:37:43
【问题描述】:
我想检测提要是否已更改,我能想到的唯一方法是对 xml 文档的内容进行哈希处理,并将其与提要的最后一个哈希值进行比较。
我使用 XmlReader 是因为 SyndicationFeed 使用它,所以理想情况下我不想加载联合提要,除非提要已更新。
XmlReader reader = XmlReader.Create("http://www.extremetech.com/feed");
SyndicationFeed feed = SyndicationFeed.Load(reader);
【问题讨论】:
-
哈希冲突的后果是什么?也就是说,假设两个文档具有相同的哈希值。可能发生的最糟糕的事情是什么?
-
我做了更多测试,如果这是您的确切提要,则此提要中的一些 cmets 会定期更改,即使非注释 xml 标签从未更改,所以我不认为哈希方法将完全奏效
-
@MerickOWA 我想我会使用 SyndicationItem 中的 ID .. 可能会更容易:) 这样,如果编辑提要标题或文章就不会成为问题!
-
@superlogical 我添加了另一种不依赖散列的可能性,它可能通常可以工作,但它依赖于服务器。