EDYCJA: Mówisz "Łączę prosty i krótki plik XML i nie używam serializacji, więc muszę jawnie ręcznie zmienić znaczenie znaków XML".
Chciałbym zdecydowanie radzimy nie robić to ręcznie. Użyj interfejsów API XML, aby zrobić to wszystko za siebie - wczytaj oryginalne pliki, połącz je w jeden dokument, jakkolwiek potrzebujesz (prawdopodobnie chcesz użyćXmlDocument.ImportNode
), a następnie ponownie zapisz. Nie chcesz pisać własnych parserów / elementów formatujących XML. Serializacja jest tutaj nieco nieistotna.
Jeśli możesz nam podać krótki, ale kompletny przykład tego, co dokładnie próbujesz zrobić, prawdopodobnie pomożemy Ci uniknąć martwienia się o ucieczkę.
Oryginalna odpowiedź
Nie jest do końca jasne, co masz na myśli, ale zwykle interfejsy API XML robią to za Ciebie. Ustawiasz tekst w węźle, a on automatycznie zmieni wszystko, czego potrzebuje. Na przykład:
Przykład LINQ to XML:
using System;
using System.Xml.Linq;
class Test
{
static void Main()
{
XElement element = new XElement("tag",
"Brackets & stuff <>");
Console.WriteLine(element);
}
}
Przykład 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);
}
}
Dane wyjściowe z obu przykładów:
<tag>Brackets & stuff <></tag>
Oczywiście przy założeniu, że chcesz uciekać przed XML-em. Jeśli nie, prześlij więcej szczegółów.