在windows中生成的XML文件在linux环境中无法加载

本文关键字:环境 加载 linux XML windows 文件 | 更新日期: 2023-09-27 17:51:05

我们正在c#中使用xmlseralizer和UTF8编码生成一个xml文件。我们检查输出,xml格式是否良好,并通过了XSD验证。

我们将此xml发送给在UNIX环境中加载此xml的客户。他们不断地告诉我们xml是无效的,并且有无效的字符。我们没有UNIX环境来测试。

问题是,在UNIX中加载xml文件时是否有任何差异?我们可以要求客户提供什么来更好地理解这种情况?

在windows中生成的XML文件在linux环境中无法加载

您可能有一个UTF-8 BOM作为文件的前三个字节:

<?xml version="1.0" encoding="utf-8"?>

它不是XML文档的一部分,因此文件阅读器不应该将其传递给XML解析器进行解释。如果你有,你可以试着删除它,看看你的用户是否有同样的抱怨。大多数编辑器不会向您显示它,因此您可能需要使用十六进制编辑器。(Hex: EF BB BF).

如果问题仍然存在,您需要知道所谓的无效字符的字节偏移量是多少,以及它们违反了XML规范的哪一部分。他们使用的程序和版本,以及它给出的反馈可能也会有所帮助。

你也可以考虑文件在运输过程中被损坏。往返传输可能有助于检测到这一点。