我使用這個XML文件: http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/ws/RSS/toppaidapplications/limit=10/xmlXML解析器:與蘋果XML煩惱
從apple.com/rss,並使用經典的代碼來解析它...
首先奇怪的事情,當我日誌:
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
NSLog(@"string : %@",string);
if (!currentElementValue) {
// init the ad hoc string with the value
currentElementValue = [[NSMutableString alloc] initWithString:string];
} else {
// append value to the ad hoc string
[currentElementValue appendString:string];
}
}
我得到一些HTML元素!但是當您查看頁面的代碼時,FireFox會顯示完整的XML文檔!
然後...當我嘗試從任何標籤的一些信息,我的預期值前加了很多空白和換行符元素...
- (void)parser:(NSXMLParser *)parser
didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName {
// Check tag name
if ([elementName isEqualToString:@"title"]) {
NSString *trimmedString = [currentElementValue stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
[currentElementValue setString:trimmedString];
NSLog(@" title: %@",currentElementValue);
[app setAppName:currentElementValue];
}
// Check tag
if ([elementName isEqualToString:@"entry"]) {
[apps addObject:app];
// release user object
[app release];
app = nil;
}
[currentElementValue release];
currentElementValue = nil;
}
返回例如:
標題:
Angry Birds - Clickgamer.com
我已經使用了與他人X是解析器類ML文件和它的工作,但現在與Apple XML文件不......爲什麼?
你需要發佈更多的'parser:foundCharacters:'和'parser:didEndElement:namespaceURI:qualifiedName:'的實現。你在'parser:foundCharacters:'中找到了哪些HTML元素?你應該意識到我們不是能夠在你的Mac上神奇地閱讀你的代碼的心理學家! – Yuji
是的,對不起。我編輯了代碼。 – jlink
HTML元素與XML文件的代碼源相同,但使用Safari ... – jlink