多年来,我一直使用NativeXml从程序数据创建xml。这个方法非常有效,但现在我遇到了一个问题。
现在,我需要将哈希值插入从xml的规范形式创建的xml中。我查看了Native Xml的"Canonicalize"函数,但是我可能没有正确使用它(很有可能),或者(因为它被标记为实验性的)它无法执行所需的操作。
我按照唯一找到的示例这样使用它:
MyXmlFile.Canonicalize;
我一直向一个测试服务发送xml,没有出现任何问题,所以我认为一切都很好。接收方接受了xml提交和哈希码。规范化会去掉开头的xml标签<?xml version="1.0"?>
,但由于xml已经相当规范化,而且我没有将其格式设置为xfReadable
,所以我找不到太大的区别。
现在我遇到了一个问题。我的某些数据中包含撇号,例如O'Reilly这样的名字,在xml中正确写作如下:
<Surname>O'Reilly</Surname>
据我所知,当进行规范化处理时,应该显示为:
<Surname>O'Reilly</Surname>
由于哈希值不匹配,我的XML提交被接收方拒绝了。
我已经花了两天时间查阅NativeXml代码、文档以及在线资料,但都没有找到答案。不幸的是,NativeXml论坛似乎也没有活力。
我应该在NativeXml中做些什么吗?如果不使用NativeXml,有其他工具可以完成这项工作吗?是否有任何方法可以将XML传递给它,以使其正确地规范化?
'
替换为单个'
。目前它可以工作。幸运的是,目前我只需要担心撇号。 - user2140546