2011-04-06 157 views
-1

我創建了一個iPhone應用程序來讀取this XML,但它不適用於此鏈接,而它僅從其他位置讀取其他XML文件。讀取一個XML文件

任何人都可以測試它,看看你是否可以閱讀嗎?如果是的話,你能告訴我如何?

+0

對不起,我有一個小麻煩了解你的問題。你是說你寫了一個從該URL讀取的iphone應用程序,但是當你嘗試一個不同的URL時它不起作用? 「它不工作」是什麼意思?怎麼了? – jhocking 2011-04-06 22:03:24

+0

你的問題很混亂。我收集的是,當你解析當前的文件時,你想要解析一個不同的XML文件。在這種情況下,我會創建另一個包含不同解析器的類,然後可以同時運行它們。 – 2011-04-06 22:09:25

+0

我的questuin很簡單。我正在爲xml編寫一個解析器,它對所有xml文件都可以正常工作。但是當我試圖在鏈接中解析xml時,它不起作用。在鏈接結構中是否存在xml問題,或者有特殊的事情來解析xml,因爲它具有阿拉伯字符。 – Alex 2011-04-07 20:28:04

回答

0

快速測試,工作就好...

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 


    NSString *XMLEncodedString = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://minihath.com/events/XMLfeeds.xml" ]]; 
    NSData *data = [XMLEncodedString dataUsingEncoding:NSUTF8StringEncoding]; 

    NSXMLParser *xml = [[NSXMLParser alloc] initWithData:data]; 
    [xml setDelegate:self]; 
    [xml setShouldResolveExternalEntities:YES]; 
    [xml parse];  
} 

- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError 
{ 
    NSLog(@"Error: %@", [parseError localizedDescription]); 
} 

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict 
{ 
    currentElementValue = [[NSMutableString alloc] init]; 

} 

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *) string { 
    [currentElementValue appendString:string]; 

} 

- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *) elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { 
    NSLog(@"elementName %@ %@", elementName, currentElementValue); 
    currentElementValue=nil; 
    [currentElementValue release]; 
} 
+0

它解析xml文件時給我5個錯誤: – Alex 2011-04-07 21:02:28

+0

上面的代碼工作得很好。這些問題已得到解答。接受答案並提出另一個問題。 – Jordan 2011-04-07 22:45:08