【发布时间】:2014-07-25 06:54:49
【问题描述】:
我有一个 WCF 服务,它返回一个带有 &、 的字符串响应。例如
<response>&</response>
实际上,我发送的是 '&' 字符,但由于某种原因它被编码了。
相反,我想发送解码后的响应。我想要的回复是-<response>&</response>
有人可以建议如何实现吗?
谢谢。
【问题讨论】:
标签: wcf xmlserializer
我有一个 WCF 服务,它返回一个带有 &、 的字符串响应。例如
<response>&</response>
实际上,我发送的是 '&' 字符,但由于某种原因它被编码了。
相反,我想发送解码后的响应。我想要的回复是-<response>&</response>
有人可以建议如何实现吗?
谢谢。
【问题讨论】:
标签: wcf xmlserializer
XML 序列化器必须对特殊字符进行编码才能生成格式良好的 XML 文档。
根据XML specification,& 字符不得以其文字形式出现在文档中的任何位置,因此是编码。
消费应用程序应该已经意识到这一点,并且知道如何解码 &回到&符号。但是,如果您在 Soap UI 等基于 XML 的软件上查看您的响应,您将继续看到编码形式的符号。
【讨论】:
你可以使用
System.Web.HttpUtility.HtmlDecode()
在您的特定数据合同属性/整个响应字符串上。或者您可以使用以下文章中的方法,该方法对开发人员不太友好,但如果您的回复中有很多特殊字符,则可以使用该方法。
http://seroter.wordpress.com/2007/11/09/xml-web-services-and-special-characters/
【讨论】: