+ -
当前位置:首页 → 问答吧 → 有关XML转义字符的疑问

有关XML转义字符的疑问

时间:2011-06-27

来源:互联网

原始字符串: GmbH & Co KG<>"'"

处理后字符串:GmbH &amp; Co KG&lt;&gt;"'"

为什么单引号,双引号不发生变化,而 & < > 三种符号发生了变化,这样生成的XML正确吗?能被正确解析吗?





处理过程如下:
int count = 0;

foreach (char c in strFkfmc)
{
  if (c == '&')
  {
  strFkfmc = strFkfmc.Replace("&", "&amp;");
  }
  if (c == '\"')
  {
  strFkfmc = strFkfmc.Replace("\"", "&quot;");
  }
  if (c == '>')
  {
  strFkfmc = strFkfmc.Replace(">", "&gt;");
  }
  if (c == '<')
  {
  strFkfmc = strFkfmc.Replace("<", "&lt;");
  }
  if (c == '\'')
  {
  strFkfmc = strFkfmc.Replace("\'", "&apos;");
  }
  count++;
}

作者: ring2004   发布时间: 2011-06-27

xml本身就由 <,>这种标签组成,肯定要转义的啊,至于&,他本身就是用来转义特殊字符的如果&nbsp;等 
要使用他肯定也要经过转义

作者: aspwebchh   发布时间: 2011-06-27

作者: aspwebchh   发布时间: 2011-06-27

也就是说,处理后的字符串是显示正确的,是吗?

作者: ring2004   发布时间: 2011-06-27

你这是c#程序吧
.net有一系统xml类库
提供很多处理xml的方法
你直接用对象的方法读字符串好了,不用管转义

作者: aspwebchh   发布时间: 2011-06-27

作者: aspwebchh   发布时间: 2011-06-27