私は間違いなく何かが欠けています。以下のように、HTML スニペットを格納する XML ファイルがあります。
<?xml version="1.0" encoding="utf-8"?>
<presentation>
<slide id="1" title="Test Slide 1">
<h1>This is test slide 1.</h1>
<p>Information on test slide.</p>
</slide>
<slide id="2" title="Test Slide 2">
<h2> This is test slide 2.</h2>
<p>Information on test slide.</p>
</slide>
<slide id="3" title="Test Slide 3">
<h3> This is test slide 3.</h3>
<p>Information on test slide.</p>
</slide>
</presentation>
「スライド」の内容を編集して変更を保存できる ASP.net フォームを作成しています。そのためには、まず で適切なスライドを見つけますid
。次に、スライドのすべての内容を で削除しRemoveNodes()
、新しい内容を で書き込もうとしWriteRaw(contents)
ます。
XDocument xmlDoc = XDocument.Load(filepath);
XElement slide = xmlDoc.Descendants("slide").First(el => el.Attribute("id").Value.Equals(id));
slide.RemoveNodes();
using (var writer = slide.CreateWriter())
{
// contents are retrieved from a TextBox
writer.WriteRaw(contents);
}
xmlDoc.Save(filepath);
コードはエラーなしで実行されます。しかし、xmlファイルを確認すると、htmlタグの<
と文字が と に変換されています。>
<
>
...
<slide id="1" title="Test Slide 1"><h1>This is test slide 1.</h1>
<p>Information on test slide.</p>></slide>
...
別のオブジェクトが背景の文字をエスケープしていると推測しています。SaveOptions.DisableFormatting
動作を変更しません。誰かが私を正しい方向に向けることができますか?