EDIT: Anda mengatakan "Saya menggabungkan file XML sederhana dan pendek dan saya tidak menggunakan serialisasi, jadi saya harus secara eksplisit melepaskan karakter XML dengan tangan".
Saya sangat menyarankan Anda untuk tidak melakukannya dengan tangan. Gunakan API XML untuk melakukan semuanya untuk Anda - baca di file asli, gabungkan keduanya menjadi satu dokumen sesuka Anda (Anda mungkin ingin menggunakannya XmlDocument.ImportNode
), lalu tulis lagi. Anda tidak ingin menulis pengurai / pemformatan XML Anda sendiri. Serialisasi agak tidak relevan di sini.
Jika Anda dapat memberi kami contoh singkat namun lengkap tentang apa yang Anda coba lakukan, kami mungkin dapat membantu Anda untuk menghindari kekhawatiran tentang melarikan diri sejak awal.
Jawaban asli
Tidak sepenuhnya jelas apa yang Anda maksud, tetapi biasanya XML API melakukan ini untuk Anda. Anda mengatur teks dalam sebuah node, dan itu akan secara otomatis melarikan diri dari apapun yang diperlukan. Sebagai contoh:
Contoh LINQ ke XML:
using System;
using System.Xml.Linq;
class Test
{
static void Main()
{
XElement element = new XElement("tag",
"Brackets & stuff <>");
Console.WriteLine(element);
}
}
Contoh DOM:
using System;
using System.Xml;
class Test
{
static void Main()
{
XmlDocument doc = new XmlDocument();
XmlElement element = doc.CreateElement("tag");
element.InnerText = "Brackets & stuff <>";
Console.WriteLine(element.OuterXml);
}
}
Keluaran dari kedua contoh:
<tag>Brackets & stuff <></tag>
Itu dengan asumsi Anda ingin XML melarikan diri, tentu saja. Jika tidak, harap posting detail selengkapnya.