首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"&“而Apostrophe显示了一个符号

"&“而Apostrophe显示了一个符号
EN

Stack Overflow用户
提问于 2014-02-12 10:34:26
回答 2查看 1.3K关注 0票数 0

我从web服务端点获取数据,并将其放入每个循环中的列表中。该服务从Wordpress网站获取数据。

代码语言:javascript
运行
AI代码解释
复制
 var list = new ItemList
      (
         (string)data.id.ToString(),
          (string)data.name,

          (string)subcategory

     );

然后我在XAML页面上打印这个。代码运行良好,因为它成功地从服务中获取数据,并将其打印在我的windows 8应用程序的页面上。

但是,在(string)data.name,中,即项目的名称,如果名称包含"&“,则在应用程序中显示为$#038;。另外,如果项目名包含"'",撇号为s,则它将显示为’.

例如:D& G,显示为D $#038;G

"&“和”“作为这些奇怪的符号出现。

我如何摆脱这些并修复它,以便它们在应用程序中正确呈现。

EN

回答 2

Stack Overflow用户

发布于 2014-02-12 10:49:27

你可以使用WebUtility.HtmlDecode方法(字符串)

或者,如果不想添加其他库,也可以使用。

代码语言:javascript
运行
AI代码解释
复制
public string Decode(string text)
{
    var replacements = new Dictionary<string, char> {
      { "&#8217;", ''' },
      // ...etc
    }

    var sb = new StringBuilder( text );

    foreach( var c in replacements.Keys ) {
      sb.Replace( c.ToString(), replacements[c] );
    }

    return sb.ToString();
}
票数 0
EN

Stack Overflow用户

发布于 2014-02-12 11:08:19

该服务似乎正在返回XML转义实体。&#038;指的是代码为(十进制) 38 (即&)的字符。&#8217;类似,意味着代码为8217 (即)。

您可以使用System.Web.HttpUtility.HtmlDecode(inputString)对它们进行解码,但这需要对System.Web的引用。如果您不想或不能引用它,您可以尝试这样的方法:

代码语言:javascript
运行
AI代码解释
复制
var xml = new XmlDocument();
xml.LoadXml("<x>" + inputString + "</x>");
var output = xml.InnerText;

给定Testing &#8217;stuff&quot; &#038; things,它将返回Testing ’stuff" & things

如果你可以的话,我会和HtmlDecode()一起去,但是除非你没有其他选择,否则绝对要尽量避免翻滚你自己的解码器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21736625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档