我使用libxml2在iPhone上使用漂亮的方法:PerformXMLXPathQuery从Cocoa with Love。问题是如何找到女巫xml发送没有首先解析整个文件...我试图使用@“/”查询来检索第一个元素,如可爱与爱的介绍上写的,但不幸的是,PerformXMLXPathQuery崩溃这个查询的原因!XPath如何选择第一个元素而不加载整个xml?
当我使用@“/ *”命令,整个树被解析,这在时间和内存消耗方面非常低效..
任何想法是如何工作的?
感谢 马库斯
我使用libxml2在iPhone上使用漂亮的方法:PerformXMLXPathQuery从Cocoa with Love。问题是如何找到女巫xml发送没有首先解析整个文件...我试图使用@“/”查询来检索第一个元素,如可爱与爱的介绍上写的,但不幸的是,PerformXMLXPathQuery崩溃这个查询的原因!XPath如何选择第一个元素而不加载整个xml?
当我使用@“/ *”命令,整个树被解析,这在时间和内存消耗方面非常低效..
任何想法是如何工作的?
感谢 马库斯
我不知道您的性能要求多么紧张的,但使用SAX解析器,如的NSXMLParser,将使您退出解析你处理,你要寻找的元素之后。参见解析器的
- (void)abortParsing
方法,和
– parser:didStartElement:namespaceURI:qualifiedName:attributes:
– parser:didEndElement:namespaceURI:qualifiedName:
在NSXMLParserDelegate协议。
感谢您的提示,我测试了NSXMLParser,但它对我的要求来说很慢。我通过测试请求url来告诉我xml文件的外观如何解决问题。 – Markus 2010-10-29 13:34:05
为访问子节点放置父节点名称 – GhostRider 2010-10-29 10:20:38
根节点名称根据请求的类型而改变......我的问题是如何在不解析整个树的情况下获取根节点名称? – Markus 2010-10-29 10:48:10