XPath如何在不加载整个xml的情况下选择第一个元素?

时间:2010-10-29 09:33:44

标签: iphone cocoa libxml2 xpath

我在iPhone上使用libxml2,使用了很好的方法:来自Cocoa with Love的PerformXMLXPathQuery。问题是如何在没有首先解析整个文档的情况下找出女巫xml被发送...我试图使用@“/”查询来检索第一个元素,就像Cocoa with Love的介绍一样,但不幸的是,PerformXMLXPathQuery崩溃了这个查询的原因!

当我使用@“/ *”命令时,整个树都会被解析,这在时间和内存消耗方面效率很低。

任何想法如何运作?

由于 马库斯

1 个答案:

答案 0 :(得分:0)

我不确定您的性能要求有多紧,但使用SAX解析器(如NSXMLParser)可以让您在处理完所需的元素后退出解析。见

- (void)abortParsing
解析器上的

方法,

– parser:didStartElement:namespaceURI:qualifiedName:attributes:
– parser:didEndElement:namespaceURI:qualifiedName:

在NSXMLParserDelegate协议上。