- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于那些基于 REST/SOAP/XML-RPC 构建 iPhone 应用程序或只是下拉动态 XML feed 的人来说,我很好奇,当用户说“刷新” feed 时,这对您来说到底意味着什么?
最直接的方法是用从提要中获取的任何内容来填充某个集合,例如 NSMutableArray。如果 UI 上的小部件可以刷新,我通常会执行以下操作:
[myMutableArray removeAllObjects];
// follow steps to repopulate myMutableArray
这似乎是刷新 XML 提要效率最低的算法。例如,许多正在构建 Twitter 客户端的人都会对现有的 feed 进行更改,而不是再次以完整的形式删除整个 feed。
在与服务器端数据源通信时,您使用什么类型的算法来“刷新”模型?
谢谢大家。
最佳答案
如果您需要 OS X 10.5,则应该考虑使用 PubSub 框架。它明确设计用于获取和更新 RSS/Atom 提要。
(免责声明:我在 Apple 时编写了很多该框架:)
您问题的答案是 Feed 本质上效率低下。您可以通过以下方式最大限度地减少这种情况
使用 HTTP“条件 GET”,因此如果服务器上的 feed 没有更改,您只会收到一个微小的 304 响应。这可以节省服务器和您的时间。 (如果您不使用条件获取,某些提要服务器(例如slashdot)将禁止您!)
检查响应中的“上次修改时间:”日期。是的,即使您使用条件 GET。有些服务器不能正确处理它们。如果日期未更改,请忽略该 Feed。
将响应的原始数据与您上次获得的原始响应进行比较。如果相同,则忽略 feed。 (某些服务器不支持条件获取或发送上次修改日期...)
现在您必须解析 XML。
检查提要本身的顶级修改日期(这在 Atom 和不同风格的 RSS 之间有所不同。)同样,如果与上次相同,请忽略该提要。
如果您到达这里,提要很可能已更新。最简单的方法就是扔掉所有旧保存的条目并用新条目替换它们。但这意味着您无法保留从提要末尾掉落的“历史”条目。如果您想这样做,则必须遍历刚刚解析的提要中的每个条目,将其与持久存储中的相应条目进行匹配,并根据新条目更新持久条目。如果您找不到持久条目,请将其添加为新条目。 (在不包含每个条目的唯一 GUID 的蹩脚 RSS 提要中,匹配条目可能很困难。您必须尝试比较永久链接和标题。糟糕。)
这整件事真是一团糟。我们需要做大量的工作才能使一切正常运行并与所有损坏的提要和服务器一起工作;如果可以的话,利用我的痛苦并使用 PubSub :)
关于iphone - "Refreshing"iPhone/Mac OSX 上的 XML feed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/802571/
正如标题中所问,我有两个如下结构的 XML 文件 A.xml //here I want to include B.xml
我有一个 xml 文件。根据我的要求,我需要更新空标签,例如我需要更改 to .是否可以像那样更改标签.. 谢谢... 最佳答案 var xmlString=" "; var properStri
我有这样简单的 XML: Song Playing 09:41:18 Frederic Delius Violin Son
在我的工作中,我们有自己的 XML 类来构建 DOM,但我不确定应该如何处理连续的空格? 例如 Hello World 当它被读入 DOM 时,文本节点应该包含 Hello 和 World
我有以下 2 个 xml 文件,我必须通过比较 wd:Task_Name_ID 和 TaskID 的 XML 文件 2。 例如,Main XML File-1 wd:Task_Name_ID 具有以下
我在 Rails 应用程序中有一个 XML View ,需要从另一个文件插入 XML 以进行测试。 我想说“构建器,只需盲目地填充这个字符串,因为它已经是 xml”,但我在文档中看不到这样做的任何内容
我正在重建一些 XML 提要,因此我正在研究何时使用元素以及何时使用带有 XML 的属性。 一些网站说“数据在元素中,元数据在属性中。” 那么,两者有什么区别呢? 让我们以 W3Schools 为例:
在同一个文档中有两个 XML 声明是否是格式正确的 XML? hello 我相信不是,但是我找不到支持我的消息来源。 来自 Extensible Markup Language
我需要在包装器 XML 文档中嵌入任意(语法上有效的)XML 文档。嵌入式文档被视为纯文本,在解析包装文档时不需要可解析。 我知道“CDATA trick”,但如果内部 XML 文档本身包含 CDAT
XML 解析器和 XML 处理器是两个不同的东西吗?他们是两个不同的工作吗? 最佳答案 XML 解析器和 XML 处理器是一样的。它不适用于其他语言。 XML 是通用数据标记语言。解析 XML 文件已
我使用这个 perl 代码从一个文件中读取 XML,然后写入另一个文件(我的完整脚本有添加属性的代码): #!usr/bin/perl -w use strict; use XML::DOM; use
我正在编写一个我了解有限的历史脚本。 对象 A 的类型为 system.xml.xmlelement,我需要将其转换为类型 system.xml.xmldocument 以与对象 B 进行比较(类型
我有以下两个 XML 文件: 文件1 101 102 103 501 502 503
我有以下两个 XML 文件: 文件1 101 102 103 501 502 503
我有一个案例,其中一个 xml 作为输入,另一个 xml 作为输出:我可以选择使用 XSL 和通过 JAXB 进行 Unmarshalling 编码。性能方面,有什么真正的区别吗? 最佳答案 首先,程
我有包含 XML 的 XML,我想使用 JAXB 解析它 qwqweqwezxcasdasd eee 解析器 public static NotificationRequest parse(Strin
xml: mario de2f15d014d40b93578d255e6221fd60 Mario F 23 maria maria
尝试更新 xml 文件数组时出现以下错误。 代码片段: File dir = new File("c:\\XML"); File[] files = dir.listFiles(new Filenam
我怎样才能完成这样的事情: PS /home/nicholas/powershell> PS /home/nicholas/powershell> $date=(Get-Date | ConvertT
我在从 xml 文件中删除节点时遇到一些困难。我发现很多其他人通过各种方式在 powershell 中执行此操作的示例,下面的代码似乎与我见过的许多其他示例相同,但我没有得到所需的行为。 我的目标是将
我是一名优秀的程序员,十分优秀!