2010-10-29 39 views
2

我使用libxml2在iPhone上使用漂亮的方法:PerformXMLXPathQuery从Cocoa with Love。问题是如何找到女巫xml发送没有首先解析整个文件...我试图使用@“/”查询来检索第一个元素,如可爱与爱的介绍上写的,但不幸的是,PerformXMLXPathQuery崩溃这个查询的原因!XPath如何选择第一个元素而不加载整个xml?

当我使用@“/ *”命令,整个树被解析,这在时间和内存消耗方面非常低效..

任何想法是如何工作的?

感谢 马库斯

+0

为访问子节点放置父节点名称 – GhostRider 2010-10-29 10:20:38

+0

根节点名称根据请求的类型而改变......我的问题是如何在不解析整个树的情况下获取根节点名称? – Markus 2010-10-29 10:48:10

回答

0

我不知道您的性能要求多么紧张的,但使用SAX解析器,如的NSXMLParser,将使您退出解析你处理,你要寻找的元素之后。参见解析器的

- (void)abortParsing 

方法,和

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

在NSXMLParserDelegate协议。

+0

感谢您的提示,我测试了NSXMLParser,但它对我的要求来说很慢。我通过测试请求url来告诉我xml文件的外观如何解决问题。 – Markus 2010-10-29 13:34:05

相关问题