我们有一个单页的Web应用程序,该应用程序将订单信息以XML格式记录在数据库表中,还有一个用Delphi XE2编写的服务来检测和处理这些订单。
通常情况很好,除非用户在传递地址中输入撇号,否则文本会被截断,从而导致错误的结果。
例如:
'Geoff's Liquor Sherriton'#$A'Sherriton Shopping Centre, '#$A'Shop 18B High Street, '#$A'Sherriton 1234'
结果如下:
'Geoff'#0'pos;s Liquor Sherriton'#$A'Sherriton Shopping Centre, '#$A'Shop 18B High Street, '#$A'Sherriton 1234'
请注意,它没有将'
解码为#0 空字符,而不是将&a
解码为'愚蠢,只会使事情变得更糟。
现在,我意识到'
在HTML 4中无效,并且实际上是XML编码,但是在XML.XMLDoc下我也找不到任何可以处理它的东西,包括 XMLStringToUnicodeString ,我本来是处理XML解码的理想场所。