改行文字を含む xml 文字列を db テーブルに格納しました。私の C# 3.5 プログラムでは、Linq to xml を使用してそれを読み込んで操作し、UI フォームのテキスト ボックス コントロールに文字列として表示します。
この xml をインデントするだけでなく、UI に表示する際にライン フィード/キャリッジ リターンを維持する必要があります。
インデントできますが、xml で LF/CR 文字を保持するにはどうすればよいですか??
サンプル C# コードは次のとおりです。
XElement rootNode = CreateRootNode();
XElement testXmlNode = XElement.Parse(xmlFromDbWithLFChars);
rootNode.Add(testXmlNode );
var builder = new StringBuilder();
var settings = new XmlWriterSettings()
{
Indent = true
};
using (var writer = XmlWriter.Create(builder, settings))
{
rootNode.WriteTo(writer);
}
xmlString = builder.ToString();
xmlString = xmlString.Replace("
", Environment.NewLine); //Doesnt work
xmlString = xmlString.Replace("
", Environment.NewLine); //Doesnt work
//Heres how the xml should look like in the UI control:
<TestNode
name="xyz"
Id="12">
<Children>
<Child name="abc" location="p" />
</Children>
</TestNode>