我必须以 XML 格式发送二进制数据,标准方法是使用 base64;但是我有两个选择:
在第一种情况下,模式如下:
<xs:element name="Image" type="xs:base64Binary" />
在第二种情况下,模式如下:
<xs:element name="Image" type="xs:string" />
我怀疑第一个选项更“正确”,但它生成的 XML 比第二个选项大。 XML 实例中的第一个元素以“U1Vrc...”等开头,第二个元素以“SUkqAAA..”等开头。
哪一个最常见?
最佳答案
最好的选择是根本不在 XML 中存储二进制数据,单独发送它并让 XML 根据需要引用外部数据。但如果非要直接存储在XML中,那么base64Binary和hexBinary是唯一内置的二进制数据类型,但它们肯定不是唯一的选择。还有其他可用的算法也可以使用与 XML 字符串兼容的字母/数字字母对数据进行编码。四处搜索,或设计您自己的语法,仅对受 XML 限制的二进制字节进行编码,其余的不进行编码。
https://stackoverflow.com/questions/1697164/