字符编码,char到xml值

时间:2012-10-09 10:32:22

标签: c# xml

我正在尝试将某些字符(\ t,\ n \,\ n,\ n,\ n \ n \ n“)转换为XML兼容的”值“。所以'\ t'应为	且\ r \ n为
。我尝试过使用HttpUtility.HtmlEncode(),但没有成功。

对于那些感兴趣的人:

我无法获得我想要的格式,但以下似乎也是如此:

"\r\n".ToList().ForEach(c => Console.Write("&#x" + ((int)c).ToString("X") + ";"));

1 个答案:

答案 0 :(得分:2)

\t\r\n等AFAIK实体不需要“xml-escaped”(事实上,默认情况下你无法转义它们,因为它可能只是源格式化或者它可能是真正的新行,你不知道它是哪一个),所以best solution我发现是“手动”转换这些字符:

HttpUtility.HtmlEncode()
    .Replace("\n\r", "<br/>")
    .Replace("\n", "<br/>")  // Or use &#012; if you want it "binary safe"
    .Replace("\r", "<br/>")
    .Replace("\t", "&#009;");