我正在使用NSXMLParser
分析XML文件,效果很好但有时会给我不准确的结果。
例如,我收到了这个网址:
http://www.thehungersite.com/clickToGive/home.faces;jsessionid=01F974DC9E276DA587AE299175EDF4F4.ctgProd02?siteId=4&link=ctg_trs_home_from_ths_home_sitenav
但NSXMLParser
输出:
http://www.thehungersite.com/clickToGive/home.faces;jsessionid=01F974DC9E276DA587AE299175EDF4F4.ctgProd02?siteId=4&link=ctg_trs_home_from_ths_home_sitenav
由于某种原因,它忽略了字符串的#38;
部分 - 我怎么能得到这个?假设这是HTML编码,我尝试过stringByAddingPercentEscapesUsingEncoding:
,但这不起作用。
有什么想法吗?
答案 0 :(得分:1)
XML使用与HTML相同的字符引用编码机制(尽管它只有5个预定义的命名实体,而不是为HTML定义的庞大数字)。 &
是&
字符的编码。
答案 1 :(得分:0)
也许这个问题的最佳答案可能会有所帮助: Objective-C: How to replace HTML entities?
它基本上是NSString的一个类别,它提供了NSString中HTML实体的编码和解码。
答案 2 :(得分:-1)
您使用的是ISO标准。尝试使用%26或使用url编码。