我如何确定XML解析已经完成?任何方法都可以调用 在解析所有数据的最后?
答案 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),允许部分解析。