BEARBEITEN: Sie sagen "Ich verkette einfache und kurze XML-Dateien und verwende keine Serialisierung, daher muss ich XML-Zeichen explizit von Hand maskieren".
Ich würde Ihnen dringend raten, dies nicht von Hand zu tun. Verwenden Sie die XML-APIs, um alles für Sie zu erledigen - lesen Sie die Originaldateien ein und führen Sie die beiden Dateien zu einem einzigen Dokument zusammen, wie Sie möchten (wahrscheinlich möchten Sie es verwenden)XmlDocument.ImportNode
), und schreiben Sie es dann erneut aus. Sie möchten keine eigenen XML-Parser / Formatierer schreiben. Serialisierung ist hier etwas irrelevant.
Wenn Sie uns ein kurzes, aber vollständiges Beispiel dafür geben können, was Sie genau tun möchten, können wir Ihnen wahrscheinlich dabei helfen, sich keine Sorgen über die Flucht machen zu müssen.
Ursprüngliche Antwort
Es ist nicht ganz klar, was Sie meinen, aber normalerweise erledigen XML-APIs dies für Sie. Sie legen den Text in einem Knoten fest und er entgeht automatisch allem, was er benötigt. Beispielsweise:
Beispiel für LINQ to XML:
using System;
using System.Xml.Linq;
class Test
{
static void Main()
{
XElement element = new XElement("tag",
"Brackets & stuff <>");
Console.WriteLine(element);
}
}
DOM-Beispiel:
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);
}
}
Ausgabe aus beiden Beispielen:
<tag>Brackets & stuff <></tag>
Dies setzt natürlich voraus, dass XML entkommen soll. Wenn nicht, posten Sie bitte weitere Details.