(16 進数値 0x1B) は無効な文字です。

[ArgumentException: ' ' (16 進数値 0x1B) は無効な文字です。]
System.Xml.XmlEncodedRawTextWriter.InvalidXmlChar(Int32 ch, Char* pDst, Boolean entitize)

ASP.NETを使ってXLINQでXHTMLを吐き出させようとXElement.Tostring()したところこんなエラーに襲われた。解決方法は、
using (XmlWriter writter = XmlWriter.Create(sb, 
    new XmlWriterSettings() { CheckCharacters = false }))
{
    pageRender.RenderContent().Save(writter);
}
string outputHTML = sb.ToString();
こんな感じで。

--追記:usingで囲まないとうまく出力できない場合があるようです。

コメント

このブログの人気の投稿

初めてのC# -メモ帳でも作ってみる?-

【ファイル偽装】zipとしてもjpgとしても扱えるファイル

Javaにおいて引数付でスレッドを走らせる