【问题标题】:NSXMLParser Missing CharactersNSXMLParser 缺少字符
【发布时间】:2011-08-26 13:54:42
【问题描述】:

我正在使用 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:,但这不起作用。

有什么想法吗?

【问题讨论】:

    标签: objective-c format nsxmlparser


    【解决方案1】:

    XML 使用与 HTML 相同的字符引用编码机制(尽管它只有 5 个预定义的命名实体,而不是为 HTML 定义的大量实体)。 && 字符的编码。

    【讨论】:

    【解决方案2】:

    也许这个问题的最佳答案可能会有所帮助: Objective-C: How to replace HTML entities?

    它基本上是 NSString 的一个类别,它提供了 NSString 中 HTML 实体的编码和解码。

    【讨论】:

    【解决方案3】:

    您使用的是 ISO 标准。尝试使用 %26 或使用 url 编码。

    【讨论】:

    • 查看stackoverflow.com/questions/1812473/… 了解有关 HTML 编码与 URL 编码的更多信息。此外,%26 是 '&' 在 urlencoded 时的编码文本。
    • 谢谢 - 我知道这一点。我面临的问题是我无法将其转换回原始值。
    猜你喜欢
    • 2021-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多