2011-04-06 116 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