Coldfusion replace()不处理xml导入的文本

Coldfusion replace()不处理xml导入的文本,xml,replace,coldfusion,Xml,Replace,Coldfusion,我正在从第三方网站获取一个XML提要。提要中的description字段包含许多特殊字符。当我在文本上运行Replace标记时,它不会改变任何内容。谁能告诉我我做错了什么。我试着运行相同的代码,输入提要中的一个单词,替换成功。我也尝试过使用cflib中的demononize,但它并没有改变任何事情 <CFHttp url="http://somewebsite.com/myfeed.xml" method="get"> <cfset mydoc = XmlParse(CFHTT

我正在从第三方网站获取一个XML提要。提要中的description字段包含许多特殊字符。当我在文本上运行Replace标记时,它不会改变任何内容。谁能告诉我我做错了什么。我试着运行相同的代码,输入提要中的一个单词,替换成功。我也尝试过使用cflib中的demononize,但它并没有改变任何事情

<CFHttp url="http://somewebsite.com/myfeed.xml" method="get">
<cfset mydoc = XmlParse(CFHTTP.FileContent) />

<cfloop from="1" to="#ArrayLen(mydoc.venues.xmlchildren)#" index="i" >  
<cfoutput>
    <cfset description = '#mydoc.venues.event[i].description.xmltext#'>

    Raw Description:    #description#<br/>

    Alt Description 1:  #Replace(description, "’", "'", "all" )#<br/>

    Alt Description 2:  #Replace(description, chr(180), "'", "all" )#<br/>

</cfoutput> <br/><hr/><br/> 
</cfloop>

原始描述:#描述#
替换说明1:#替换(说明,“,”,“全部”)#
替换说明2:#替换(说明,chr(180),“'”和“全部”)#




您试图更改的角色很可能不是您认为的角色。您可以分享一个来自XML数据的描述文本的示例吗?如果有疑问,请查看您的数据。在本例中,找到一个包含相关字符的小字符串,并将该字符串中的每个字符与其ascii代码一起转储。ColdFusion有一个asc()函数。另外,对于你发布的代码,把它放在一个块或文本区域,这样你就能更好地了解正在发生的事情。“有人能告诉我我做错了什么吗?”?不,没有提供信息。但是,首先,让我们消除一个错误标志的情况:CFML的
replace()
函数工作正常。这不是问题所在。不起作用的是你对它的使用。你需要做的是拿出一个便携式的复制器来演示你的问题,尽可能地消除一些不相关的因素。这应该始终是故障排除过程的一部分(请参阅和链接文档进行讨论)。注意:如果您使用的是非ASCII字符,如“'”,则需要告诉CF使用适当的字符编码编译CFM文件。但是,考虑到你似乎正在尝试处理古怪的MS角色,考虑到这些角色的非标准性,这不太可能有帮助。您可能希望验证要交换的字符的字符代码,而不是依赖于
demonize()
方法。谢谢Dan Bracuk。我使用了asc()函数,发现它是chr(8217)。你不会相信你救了多少挫折!