代码之家  ›  专栏  ›  技术社区  ›  Jimmy

使用NSXMLParser从连续流解析多个XML文档

  •  0
  • Jimmy  · 技术社区  · 15 年前

    我的iPhone应用程序是基于socket的,它接收一个连续的、不带分隔符的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,但是当它到达文档末尾时,它会停止,并且不会尝试解析另一个文档,或者告诉我它在流中的什么位置完成,这样我就可以开始新的解析了。

    1 回复  |  直到 15 年前
        1
  •  0
  •   falconcreek    15 年前