我下载了一个包含多个网址的XML文件。它工作正常,但当我在XML中输入这样的URL:
解析器停止。
根据我的理解,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 :(得分:1)
解决方案是使用字段
<![CDATA[http://eda-bea.es/pub/record_card_1.php?refpage=%252Fpub%252Fsearch_select.php&quicksearch=adra&page=1&rec=3]]>
答案 1 :(得分: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">
上失败,因为这里没有结束链接标记。