如何识别XML解析已经完成?

时间:2009-11-11 12:13:02

标签: iphone

我如何确定XML解析已经完成?任何方法都可以调用 在解析所有数据的最后?

3 个答案:

答案 0 :(得分:1)

假设您使用NSXMLParser:

- (void)parserDidEndDocument:(NSXMLParser *)parser
  

由解析器对象发送到   代表成功的时候   完成解析。

答案 1 :(得分:0)

使用此方法,当您到达封闭的结束元素时,相应地处理它

(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 

答案 2 :(得分:0)

大多数标准XML解析器要么创建完整的DOM,要么显式公开SAX API(http://www.saxproject.org/quickstart.html)。 SAX API具有特定的endDocument()方法,之后您可以假定该文档已被完全读取。 DOM方法没有通用API,但XOM(http://www.xom.nu)通过调用给出了典型示例:

Document doc = new Builder().build(myInstream);

这要么圆满完成,要么抛出异常。

还有其他工具,如StAX(http://stax.codehaus.org/Home),允许部分解析。