从文件或字符串加载Xml会对单引号进行编码

从文件或字符串加载Xml会对单引号进行编码,xml,asp-classic,chilkat,chilkat-xml,Xml,Asp Classic,Chilkat,Chilkat Xml,目前,我在chilkat中加载xml字符串(也在加载文件时进行了测试)时遇到问题。问题是加载一些属性中带有单引号的xml字符串。Chilkat会自动用HTML对它们进行编码 例如,当我加载以下字符串时: <?xml version="1.0" encoding="UTF-8"?> <root> <ds:Reference URI="#xpointer(//*[@authenticate='true'])" /> </root> 当使用

目前,我在chilkat中加载xml字符串(也在加载文件时进行了测试)时遇到问题。问题是加载一些属性中带有单引号的xml字符串。Chilkat会自动用HTML对它们进行编码

例如,当我加载以下字符串时:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <ds:Reference URI="#xpointer(//*[@authenticate='true'])" />
</root>

当使用.GetXml()时,Chilkat将返回此值:


因此,当我必须比较摘要值时,它们不再匹配

我可以做一个变通办法,只替换那些值,但我对此不满意。也许属性或其他值的编码更多,这可能会带来更多麻烦

有人知道这是故意的吗?为什么?或者只是一个bug。是否有我必须设置但未找到的属性


谢谢

这是我们想要的行为。(它既是一个HTML实体,又是一个XML特殊字符。请参阅)从技术上讲,这并不是不正确的,但我可以理解为什么一种行为可能优于另一种行为


在任何情况下,如果要对XML进行哈希处理并与原始XML进行比较,您确实不希望加载XML并从DOM样式的解析器重新发出。空格、缩进和其他XML特殊字符可能有所不同。如果您真的想比较散列,那么需要XML是精确的——这意味着规范化。您可以使用Chilkat规范化XML。例如,将XML复制到该文件中,以生成规范化的XML以及执行规范化的代码。

您是否可以使用MSXML而不是第三方组件?如果chilkat没有办法,也可以将此作为解决方案。谢谢
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <ds:Reference URI="#xpointer(//*[@authenticate=&apos;true&apos;])" />
</root>