我知道,我的问题可能会让我生气。但是,我没有办法知道我周围发生的事情。
实际上,我正在编写一个编写良好的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>
。
在这里,他们使用了哪个解析器?
我的上一个问题仅限于常见问题解答。最好的&amp;学习新事物的美好方式是通过实践。但是,我仍然无法找到一个智能样本,分别用解释来演示解析器。 (另外,我找不到任何解析存储在我PC中的本地xml文件的示例。)
先谢谢..
答案 0 :(得分:1)
我们在Cocoa框架中有多少个解析器?
要回答您的第一个问题,可以使用许多不同的xml解析器。我建议this阅读以选择适合您特定问题的内容。
如何找到我的应用中使用的解析器? 你已经写了这个问题的答案。您正在使用xmlParserCtxtPtr - 解析器。
要加载您使用的本地xml文件
NSString* path = [[NSBundle mainBundle] pathForResource:@"Songbook" ofType:@"xml"];
NSURL *url = [NSURL fileURLWithPath:path];
然后使用URL初始化xmlParser。希望它有所帮助,即使它可能有点晚......