【问题标题】:An Invalid XML character(Unicode: 0x0) was found in the element content of the document error在文档错误的元素内容中发现了一个无效的 XML 字符(Unicode:0x0)
【发布时间】:2017-10-07 17:39:46
【问题描述】:

我有一个 XML 文件,它在解析时出现以下错误: 在文档错误的元素内容中发现无效的 XML 字符(Unicode:0x0)。

我可以很好地阅读整个内容,也没有控制字符。

但是当我自己输入整个内容而不是提供给我的文件时,它运行良好。

可能是什么问题。我通读了一些关于 SO 的类似问题,他们都说这可能是一个编码问题。但是任何人都可以详细说明这一点,因为我可以阅读整件事。如果它是编码问题,我怎么会通过查看文件来知道,因为它看起来很好。它的可读性。我删除了一行并自己输入,该行被正确解析。

提前致谢

【问题讨论】:

    标签: xml xml-parsing


    【解决方案1】:

    有两种可能的解释。该文件包含正确编码的 Unicode 代码点 0x0 的实例。 XML 不允许此字符。

    或者,解析器认为它看到了一个 0x0 的实例,因为它错误地解码了文件的物理字节:也就是说,XML 解析器假定的编码不是文件的实际编码。

    当您处理此类问题时,您需要非常小心“我可以阅读整个文件”和“看起来不错”之类的短语。您实际上看不到磁盘上的位,只能使用某种查看工具为您解释它们,并且您需要清楚您使用的是什么工具以及它是如何配置的。

    【讨论】:

    • 请原谅我在问题中的语言,但我只是想让它更容易理解,仅此而已。而且我认为解析器和实际编码不匹配。但我希望有一种方法可以更容易地检测到这一点。不是解析器告诉我它不可解析,然后我猜测它是编码问题。并重写整个事情
    • 好吧,第一步是在十六进制编辑器中查看二进制级别的文件。快速浏览一下将大大缩小需要调查的可能原因的范围。
    猜你喜欢
    • 2013-09-10
    • 2014-03-31
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 2012-12-02
    • 2011-09-05
    • 2014-05-30
    相关资源
    最近更新 更多