2

一部の文字(\ t、\ r、\ n、 "\ r \ n")をXML互換の「値」に変換しようとしています。したがって、'\ t'はであり	、\ r\nはです
。を使ってみHttpUtility.HtmlEncode()ましたが、うまくいきませんでした。

興味のある方へ:

希望する形式を正確に取得できませんでしたが、次のように同じように見えます。

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

4

1 に答える 1

2

のようなAFAIKエンティティ\t\rまたは\n「xml-escaped」である必要はありません(実際には、ソースフォーマットであるか、実際の改行であり、どちらであるかがわからないため、デフォルトではエスケープできません)。私が見つけた最善の解決策は、これらの文字を「手動で」変換することでした。

HttpUtility.HtmlEncode()
    .Replace("\n\r", "<br/>")
    .Replace("\n", "<br/>")  // Or use &#012; if you want it "binary safe"
    .Replace("\r", "<br/>")
    .Replace("\t", "&#009;");
于 2012-10-09T10:38:20.857 に答える