1

我下载了一个包含多个 URL 的 XML 文件。它工作正常,但是当我在 XML 中输入这样的 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

有任何想法吗?

谢谢。

4

2 回答 2

1

解决方案是使用该领域

<![CDATA[http://eda-bea.es/pub/record_card_1.php?refpage=%252Fpub%252Fsearch_select.php&quicksearch=adra&page=1&rec=3]]>
于 2012-10-15T09:42:35.560 回答
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">因为这里没有结束链接标记。

于 2012-05-21T17:58:53.987 回答