【问题标题】:XML parsing of some special characters using SAX parser in Android在 Android 中使用 SAX 解析器对一些特殊字符进行 XML 解析
【发布时间】:2012-03-27 13:19:29
【问题描述】:

我使用this 示例制作了一个xml 解析器(清单6. SAX 处理程序)。我必须解析来自服务器的文件。从服务器接收到的文件具有“ISO-8859-1”编码。

问题是从服务器接收到的文件有一些特殊字符,如&、"、'等。我知道服务器应该发送&而不是&,但服务器只会发送&,它不能替换&到@ 987654325@ 由于其他一些问题。我也做了 inputSource.setEncoding("ISO-8859-1")。我想解析这个文件,但是解析器无法解析这些特殊字符。我该怎么办?任何帮助....

我还有一个疑问是“ISO-8859-1 的字符集有这些特殊字符,那么为什么解析器不能解析这些特殊字符?”

【问题讨论】:

  • 我有如下错误:org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 0: not well-formed (invalid token)
  • XML 文件的第一行是什么? "" ?
  • 试一试:手动将 InputSource 设置为 ISO,例如 inputSource.setEncoding("ISO-8859-1"),然后将其传递给 SAX 解析器的 parse()
  • 我已经将编码设置为 ISO-8859-1,并且我也在我的问题中写了这个。
  • 哦,对了。另一种尝试:针对另一个验证器(例如w3schools.com/xml/xml_validator.asp)测试您的 XML。如果没有发生错误,请提供您的代码(SAX 解析器的初始化......而不是处理程序)和 XML 的第一行,以便有人可以重现错误

标签: android character-encoding xml-parsing special-characters saxparser


【解决方案1】:

您可以parse as XPL 然后通过任何 XML 进程运行结果。 XPL 就像 XML 一样,只是它允许在文本元素中使用特殊字符(这就是它存在的原因)。 XPL 进程还以指定的编码生成 XML 输出(如果未指定,则默认为 UTF-8)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 2011-04-30
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 2022-12-11
    • 2011-12-05
    相关资源
    最近更新 更多