多年来,我一直在使用 NativeXml 从我的程序数据中创建 xml。这工作得很好,但现在我遇到了障碍。
我现在需要在 xml 中插入一个散列,该 xml 是从 xml 的规范形式创建的。我看了一下,Native Xml 有一个“Canonicalize”功能,但要么我没有正确使用它(一个很好的机会),要么(因为它被标记为实验性的)它没有做需要的事情。
我一直在这样使用它(正如我能找到的唯一示例中所建议的那样)
MyXmlFile.Canonicalize;
我一直在毫无问题地将 xml 发送到测试服务,所以我认为一切正常。收件人正在接受 xml 提交和哈希码。Canonicalize 去除了打开的 xml 标记<?xml version="1.0"?>
,但由于 xml 的格式非常好,而且我没有将其格式设置为xfReadable
我找不到太大的区别。
现在我遇到了一个问题。一项数据表明,一切都没有按应有的方式工作。
如果我的数据中有一个包含撇号的名称,例如 O'Reilly,那么在 xml 中它会像这样(正确地)写入
<Surname>O'Reilly</Surname>
据我所知,它何时被规范化,这应该显示为
<Surname>O'Reilly</Surname>
这没有发生,因此收件人拒绝我的 xml 提交,因为哈希不匹配。
在过去的两天里,我一直在浏览 NativeXml 代码和文档以及在线,但找不到答案。可悲的是,NativeXml 论坛似乎也没有生命。
我应该用 NativeXml 做什么?如果不是 NativeXml,那么还有什么可以做的吗?有什么我可以将xml传递给可以正确规范化它的东西吗?