2

正如标题所说,当我使用 NSXMLParser 解析器解析文件时,有没有办法知道标签是否存在?而且,如果是,我怎样才能获得其属性的值(如果存在)?

我尝试了 NSXMLParserDelegate 的所有方法,但没有一个能解决我的问题……我应该手动解析那个标签吗?

4

1 回答 1

2

理论上,您应该收到一个-foundProcessingInstructionWithTarget:data:委托回调,但实际上这不会发生(至少在 iOS 上,我没有检查 OS X)。

如果您想明确检查,您将需要自己解析文件的开头,寻找 XML 指令。简短的读取和扫描NSScanner可能就足够了(通过使用NSScanner而不是简单的字符串测试,您将获得更好的空白处理)。

显然,这不是您最初要寻找的答案,但由于 XML 无论如何都会有一个声明的字符集,您可能只想用utf-8声明写出来,并假定任何正在读取您修改的文件的内容(因为如果相同则不需要重写),还可以读取处理指令并正确处理字符集。

于 2013-03-18T11:54:18.640 回答