xml - XML 声明标记区分大小写吗?

标签 xml encoding utf-16

我有一个可能非常简单、愚蠢的问题,但我无法在任何地方找到答案,我需要对此非常确定。

我有来自不同供应商的各种 XML 文件。其中一家供应商向我提供了一个 XML 文件,文件中包含日文字符。最初,我在处理 XML 文件时遇到了问题(我使用的是 MSXML SDK )。角色会出错。我发现如果将以下内容添加到 XML 文件中,一切都会很好。

<?xml version="1.0" encoding="UTF-16"?>

所以我要求供应商将其添加到他们的文件中。但是他们用小写的编码添加了它:

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

当我使用这个声明加载这个新文件时,我遇到了与没有这个声明时相同的问题。

我想弄清楚(确定)的是该编码属性是否区分大小写(或者是其他问题)。 他们将“utf-16”与“UTF-16”放在一起重要吗?

更新:在此处发布答案的人的建议下,我设置并执行了测试。一个文件有小写的 utf-16 而另一个大写。除此之外,这些文件是相同的。 这没有解决问题,这不是问题所在。我的结论是 MSXML 不区分大小写,正如答案中发布的规范所述。

最佳答案

我想问题并不是“标准区分大小写吗?”但是“MSXML SDK 中的编码是否区分大小写?”

来自 bytes.com :

The XML spec says that processors "SHOULD" be match encoding names case-insensitively. "SHOULD" is a technical term, less strong than "MUST", but I can't see any reason why a processor would not do it.

但是,我们知道这在实践中可能并不总是正确的。如果您可以同时尝试这两种方法,请这样做并让我们知道结果。

关于xml - XML 声明标记区分大小写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/921533/

相关文章:

json - 快速查看 JSONEncode() 输出的优雅方式

python - 使用 ElementTree 解析 XML 文件的一部分时遇到困难

xml - 如何使用 Golang 解码 Reddit 的 RSS?

database - Firebird 数据库无法识别 unicode/西里尔字母

unicode - 将 UTF-16 视为固定的 16 位编码会带来什么问题?

php - 为 PHPexcel 正确编码 CSV 文件

java - 一次将字节解码为字符

javascript - 如何在javascript中将xml文件转换为csv文件

android - 从 sdcard 获取 xml 文件到 android 应用程序?

jquery - 如何在 jQueryMobile 1.3.1 中通过 AJAX 使用正确的字符编码加载 ISO-8859-1 内容?