我在使用NSXMLElement上的nodesForXPath方法時遇到了一個奇怪的問題。
我正在使用該調用來查找與名稱匹配的元素的所有後代。例如:NSXMLElement nodesForXPath .// <name>返回比後代更多的匹配項
NSError *error = nil;
NSArray *decendants = [self nodesForXPath:@".//xr" error:&error];
這通常似乎在我的代碼中工作。
但是,偶爾我會得到比元素後代更多的匹配。
在這種情況下,它似乎在查找與名稱匹配的所有項目從到文檔結尾的當前元素。
這似乎只發生在只有一層「後代」的情況下。
I.e.元素的所有子元素都沒有子元素。
這是一個龐大的文件,我正在處理(80MB)。
我正在去掉一些元素,但是我在搜索前正常化節點。
[self normalizeAdjacentTextNodesPreservingCDATA:NO];
任何人都可以提出這個問題的原因可能是什麼?需要調查的地區?
謝謝。
或者檢查每個節點以查看它是否是後代,並在您點擊沒有的時候立即停止。 – dgatwood