gpt4 book ai didi

iPhone 开发 - XMLParser 与 libxml2 与 TouchXML

转载 作者:行者123 更新时间:2023-12-03 18:15:06 26 4
gpt4 key购买 nike

我找不到这些解析技术的比较。哪一种最常用?

问候。穆斯塔法

最佳答案

NSXMLParser 是 SAX解析器,这意味着它遍历 XML 文档,并通知您(通过委托(delegate)方法)各种事件(例如启动 xml 节点、查找属性等)。这种类型的 XML 处理最适合解析大型文档,以及当您只需要从大文件中检索少量数据时。

与 SAX 不同的是 DOM模型,其中整个 XML 树被解析到内存中(通常通过一次调用),然后您可以从提供的 API 中自由地探索 XML 文档。这通常更容易使用,因为您可以随机访问整个 xml 文档。

所以应该回答的第一个问题是 SAX 与 DOM 问题。如果您正在处理大型 XML 文件(例如 10 MB 或更大),您可能需要坚持使用 SAX。如果您正在处理小型 XML 文件或小型 XML 片段,那么使用 DOM 通常会更容易。

如果您确实决定使用 DOM,那么您有几个选择。

libxml2 是一个用 C 语言编写的非常强大的 API。它主要用于 DOM 样式的使用,但如果您熟悉它,还有其他选项。但是,由于它是用 C 编写的,因此对于那些更熟悉 Objective-C(对象和自动释放)或来自 .Net 世界的人来说,它通常没有吸引力。因此,需要/渴望有一个围绕 libxml 的原生 Objective-C 包装器,以使其更熟悉。 TouchXML 就是这样的一种包装器。如果您只需要对 XML 进行读取访问,那么它会很有效。如果您想更改 XML,或从头开始创建 XML 片段/文档,我建议使用 KissXML .

关于iPhone 开发 - XMLParser 与 libxml2 与 TouchXML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/406811/

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