2012-05-21 40 views
1

我下載了一個包含多個URL的XML文件。它工作正常,但是當我在XML輸入一個URL是這樣的:如何使用NSXMLParser讀取URL(帶特殊字符)?

http://eda-bea.es/pub/record_card_1.php?refpage=%252Fpub%252Fsearch_select.php&quicksearch=adra&page=1&rec=3

解析器停止。

從我的理解是,URL包含特殊字符,我一直在努力,並作爲一種可能的解決方案如下代碼,信息在解析之前編碼爲UTF8給出:

NSString *dataString = [[NSString alloc] initWithContentsOfURL:URL encoding:NSUTF8StringEncoding error:error]; 
NSData *data = [dataString dataUsingEncoding:NSUTF8StringEncoding]; 

NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data]; 
[parser setDelegate:self]; 

[parser parse]; 

它不工作。停止使用此方法解析

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
           namespaceURI:(NSString *)namespaceURI 
           qualifiedName:(NSString *)qName 
            attributes:(NSDictionary *)attributeDict 

任何想法?

謝謝。

+0

東西比「不工作」更多的信息其他的? – 2012-05-21 17:01:08

回答

1

溶液中使用字段

<![CDATA[http://eda-bea.es/pub/record_card_1.php?refpage=%252Fpub%252Fsearch_select.php&quicksearch=adra&page=1&rec=3]]> 
0

更改答案

此鏈接http://eda-bea.es/pub/record_card_1.php?refpage=%252Fpub%252Fsearch_select.php&quicksearch=adra&page=1&rec=3不是一個XML文檔,它是一個HTML文檔。

解析器將在<link rel="stylesheet" type="text/css" href="images.php/hispep.css">上失敗,因爲這裏沒有末端鏈接標記。

+0

對不起錯誤的粘貼鏈接,這是正確的http://eda-bea.es/pub/record_card_1.php?refpage=%252Fpub%252Fsearch_select.php&quicksearch=adra&page=1&rec=3 – Menthor

+0

對不起,我以爲你試圖嵌入URL到XML文檔中。我會給第二個答案。 –