2012-06-22 51 views
0

我有Xml女巫转换为纯文本,然后用HTML格式在Web浏览器中显示。从显示的文本中删除html特殊字符

在每行的结尾处出现符号¶,我想删除该符号或将其替换为。

有谁知道我该怎么做?

这是我怎么转换XML为纯文本:

XmlDocument doc = new XmlDocument(); 
         doc.LoadXml(this.dataGridViewResult.SelectedRows[0].Cells["XMLEvent"].Value.ToString()); 

StringBuilder sb = new StringBuilder(); 
foreach (XmlNode node in doc.DocumentElement.ChildNodes) 
{ 
    sb.Append(char.ToUpper(node.Name[0])); 
    sb.Append(node.Name.Substring(1)); 
    sb.Append(' '); 
    sb.AppendLine(node.InnerText); 
} 
+0

¶= \t%B6,万一人们需要知道这一点。 – Pomster

+0

@Damith像那样,它不会删除字符,我必须把东西放在breakets? – Pomster

+0

'var finalText = sb.ToString()。Replace(“¶”,“。”);' – Damith

回答

1

试试这个:

sb.AppendLine(node.InnerText.TrimEnd('¶')); 

sb.AppendLine(node.InnerText.Replace("¶",".")); 
+0

这个字符的Alt键代码是什么? – yogi

+0

@yogi Alt键?你的意思是¶= \t%B6 http://www.w3schools.com/tags/ref_urlencode.asp – Pomster

+0

@ivowiblo对不起,他们没有工作,确实导致我的显示器发生了一些变化,所以我不认为你离得很远。 – Pomster

0

foreach循环后,尝试:

sb.Replace("¶", "."); 
+0

这没有影响:( – Pomster

2

'¶'在哪里出现?是否在编辑器中打开转换后的文本文件?

通常情况下,标志用于在文本编辑器中直观地显示行的结尾,而且它不是真正的文本组成部分。在很多情况下,您可以在文本编辑器中选择显示/隐藏行结束标记。

但是,如果您感兴趣的输出是HTML,则该字符不应出现在这里。

+0

它没有出现之前,我从XML转换为文本,所以它出现在我已经在我的问题提出的转换某处 – Pomster

+0

它不会出现时,我显示的结果在一个丰富的文本框,但然后我的HTML格式不显示。 – Pomster

0

特别是在你的情况(假设它总是在该行的结束),我会用:

sb.AppendLine(node.InnerText.Replace('\u00b6', '.')); 

如果你想保持你的码统一免费。