【发布时间】:2023-03-20 01:40:01
【问题描述】:
我的 iPhone 应用程序是基于套接字的,并且一个接一个地接收一个连续的、非分隔的 XML 文档流,我打算在其中使用基于事件的 NSXMLParser 进行解析。
示例: 2 个文档一个接一个
<?xml version='1.0' encoding='UTF-8' ?><document name="something"><foo>bar</foo></document><?xml version='1.0' encoding='UTF-8' ?><document name="somethingelse"><bar>foo</bar></document>
在基于 Java 的实现中,XML 解析器只是解析一个流,直到它到达文档的末尾,此时它会执行它的操作,然后从流中的该点开始解析下一个文档。
问题是 NSXMLParser 不接受流并且没有告诉我它在 NSData 中的什么时候完成解析(除了无用的行号和列号)。
我已经看到了一些解决方案,例如 AQ StreamingXMLParser,但同样,当它到达文档末尾时,它只是停止并且不会尝试解析另一个文档,或者告诉我它在流中完成的确切位置以便我可以开始一个新的解析。
【问题讨论】:
标签: iphone objective-c xml