如何使用多种编码(或至少多种语言)验证XML

时间:2017-04-21 18:55:27

标签: xml validation encoding utf-8 xsd

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

  

错误:标签SomeTag第2行中的数据提前结束

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

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

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

1 个答案:

答案 0 :(得分:1)

基本上,您可以使用任何可以处理编码的纯文本编辑器。理想情况下,您使用专用的XML编辑器编辑XML文档,但如果文档与其编码有关,则此特定情况可能很困难。

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

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