【问题标题】:How to validate XML with multiple encodings (or at least multiple languages)如何使用多种编码(或至少多种语言)验证 XML
【发布时间】:2017-04-21 18:55:27
【问题描述】:

我有一个公司的 XSD 和一个 XML 示例文档。但是,当我尝试针对 XSD 验证 XML 时,它失败了:

错误:标记 SomeTag 第 2 行中的数据过早结束

没有明显的失败原因,当我从它验证的文档中删除外来字符时。

我想让这个示例 XML 可验证,但修改可能最少(即,我不希望直接删除外来字符)。我知道我不能在文档中添加第二个编码,但据我了解,它现有的编码 (utf-8) 应该能够处理日文字符......如果它们以 UTF 编码(显然来自失败,他们不是)。

所以我的问题是,有什么方法可以在某些(理想情况下是 OSS)程序中打开此文档,然后使用 UTF-8 编码保存它,这样日文字符就不会破坏验证?如果没有,是否有任何其他方法可以使文档在不删除其中的每个外来字符的情况下可验证?

【问题讨论】:

    标签: xml validation encoding utf-8 xsd


    【解决方案1】:

    基本上,您可以使用任何可以处理编码的纯文本编辑器。理想情况下,您可以使用专用的 XML 编辑器来编辑 XML 文档,但如果文档存在编码问题,这种特殊情况可能会很困难。

    打开文档后,如果日文字符看起来不正确,则需要更改编辑器解释字符的方式(不更改文件)。 例如,在Sublime Text 中,有一个名为“Reopen with Encoding”的菜单命令,它提供了一长串常用编码。 选择一个看起来可能的,然后再次检查日文字符。 继续尝试,直到它们看起来正确为止。

    然后使用“使用编码保存”之类的命令并选择 UTF-8。 最后一条命令将更改文件在磁盘上的保存方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多