gpt4 book ai didi

Iphone:对于这个特定问题,SAX 还是 DOM 更好?

转载 作者:行者123 更新时间:2023-12-03 21:19:18 25 4
gpt4 key购买 nike

我的 iPhone 与我的 SOAP Web 服务通信。

我的 XML 中有一份调查问卷,其中包括问题、答案以及一些 UI 信息的选择等。因此,当用户使用 iPhone 输入一组问题的值并将其再次发送回 Web 服务时,该服务将向该 XML 添加新的未回答问题。

因此,与 Web 服务的对话从空 XML 开始,并在用户回答问题并收到新问题时构建多达 200-300Kb 的 XML。由于它是无状态的 Web 服务,因此所有信息都将保存在 XML 中。

实际上,我只需要从响应 XML 中查找并解析最新问题(这对于 SAX 解析器来说应该很好),并仅修改 XML 的该部分,同时添加新答案并通过 Web 服务再次发送回来修改后的 XML。但用户还应该能够单击“返回”。因此,这意味着我必须将该 XML 保存在内存中(200-300KB),并在用户单击“后退”和“下一步”时在必要时进行解析。

我的问题是哪种方法更好:

1-获取 XML,使用 DOM 将其完全解析为对象,从内存中释放 XML,并仅在用户单击“后退”和“下一步”时处理对象。然后,当需要将其发回时,用我的对象从头开始组装一条新的 XML 消息。此外,这种方法似乎减少了点击时间

2-使用 SAX 解析器,并且仅在用户单击“后退”和“下一步”时需要时才进行解析。但随后我必须将所有 XML 保存在内存中。我不知道 iPhone 是否可以处理这个问题,并且后一个操作应该需要更长的时间,因为我每次都会解析。但好的一面是,完成后我不需要再次从对象重新组装 XML。

我认为第二种方法更好,你觉得呢?哪个解析器适合这项工作?

最佳答案

我个人更喜欢 DOM XML 解析器,因为它们易于使用并且能够将解析/创建逻辑与其余代码分开。看来您的应用程序最适合使用 DOM 解析器,因为您自己说过,有时您只需要 XML 的某些部分,而不是整个文档。 SAX 解析器不支持随机读取访问。

关于Iphone:对于这个特定问题,SAX 还是 DOM 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6411621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com