2010-10-29 13 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

相關問題