1

我知道,我的问题可能会激怒我。但是,我没有其他方法可以知道我周围发生的事情。

实际上,我正在编写一个编写良好的 Objective C 代码。该代码使用解析器来解析来自服务器的 XML 文件。当我尝试了解解析器及其功能时,我遇到了很多困惑:(

  • Cocoa 框架中有多少个解析器?(使用适当的解析器不是我的缩进)

  • 如何找到我的应用程序中使用了哪个解析器?

    在我的应用程序中,他们在 .h 文件中定义了一个变量。那是,

    xmlParserCtxtPtr context;

    一些函数在 .m 文件中定义。他们是,

    static void startElementSAX(...);

    static void endElementSAX(...);

    static void charactersFoundSAX(...);

    static void errorEncounteredSAX(...);

    static xmlSAXHandler simpleSAXHandlerStruct;

    他们进口了<libxml/tree.h>.

    在这里,他们使用了哪个解析器?

  • 我的最后一个问题只是一个常见问题解答。学习新事物的最佳和美丽的方式是通过实践。但是,我仍然找不到一个智能示例来分别演示解析器并进行解释。(此外,我找不到任何解析存储在我的 PC 中的本地 xml 文件的示例。)

提前致谢..

4

1 回答 1

1
  • Cocoa 框架中有多少个解析器?
    要回答您的第一个问题,有许多不同的 xml 解析器可用。我建议阅读此书以选择适合您特定问题的书。

  • 如何找到我的应用程序中使用了哪个解析器?你已经写了这个问题的答案。您正在使用 xmlParserCtxtPtr - 解析器。

要加载您使用的本地 xml 文件

NSString* path = [[NSBundle mainBundle] pathForResource:@"Songbook" ofType:@"xml"];
NSURL *url = [NSURL fileURLWithPath:path];

然后你用一个 URL 初始化你的 xmlParser。希望它有帮助,即使它可能有点晚了......

于 2012-10-24T21:30:36.197 回答