2017-04-21 93 views
0

我有一个公司的XSD和XML示例文档。然而,当我尝试验证XML对XSD它失败:如何使用多种编码(或至少多种语言)验证XML

Error: Premature end of data in tag SomeTag line 2

有失败无明显原因,当我从文件中删除外文字符它验证。

我想使这个示例XML验证,但尽可能少的修改(即我宁愿不只是删除外国字符彻底)。我知道我不能在文档中添加第二种编码,但据我了解,它现有的编码(utf-8)应该能够处理日文字符......如果它们使用UTF编码(显然来自失败,他们不是)。

所以我的问题是,有什么办法可以在一些(理想的OSS)程序中打开这个文档,然后用UTF-8编码保存它,这样日文字符不会打破验证?如果没有,有没有其他方法可以使文档验证 - 能够删除其中的每个外部字符?

回答

1

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

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

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