【问题标题】:Should I use one XML Parser for every XML feed I have, or should I write a parser for each XML feed I have?我应该为我拥有的每个 XML 提要使用一个 XML 解析器,还是应该为我拥有的每个 XML 提要编写一个解析器?
【发布时间】:2017-04-21 22:52:18
【问题描述】:

所以我帮助我为我的大学编写了一个应用程序,我想知道处理多个 XML 提要(如运动成绩、班级信息等)的最佳方式是什么。

我应该有一个可以处理所有提要的 XML 解析器吗?或者我应该为每个提要编写一个解析器?我们在决定实施它的最佳方式时遇到了麻烦。

这是 iOS,我们混合使用 Swift 3 和 Objective-C

【问题讨论】:

  • “解析器”一词经常被错误地使用,通常我们理解它的含义。但在这里我不确定你的意思。 XML 解析器对特定词汇一无所知,它只查找开始和结束标记,您绝对应该使用现成的 XML 解析器,而不是自己编写。我认为您说的是调用 XML 解析器的应用程序,而不是解析器本身,在这种情况下,您的问题的答案是:这取决于不同应用程序之间是否有足够的共同点。

标签: ios xml swift parsing


【解决方案1】:

我认为正确的策略是编写一个处理常见数据类型(如整数、布尔值、字符串等)的基类,然后为每种类型的提要编写派生类。这是我在 XML 解析器中使用的策略,它基于此处描述的数据结构和 Apple 的 XML 解析器:

https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/NSXML_Concepts/NSXML.html

我个人更喜欢使用 XPath 数据模型,您可以在其中使用类似路径的字符串查询特定节点的 XML 树。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    相关资源
    最近更新 更多