CHỈNH SỬA: Bạn nói "Tôi đang nối tệp XML ngắn và đơn giản và tôi không sử dụng tuần tự hóa, vì vậy tôi cần phải thoát ký tự XML một cách rõ ràng bằng tay".
Tôi sẽ mạnh mẽ khuyên bạn không nên làm điều đó bằng tay. Sử dụng các API XML để làm tất cả cho bạn - đọc trong các tệp gốc, hợp nhất cả hai thành một tài liệu duy nhất theo cách bạn cần (có thể bạn muốn sử dụng XmlDocument.ImportNode
), rồi viết lại. Bạn không muốn viết trình phân tích cú pháp / định dạng XML của riêng mình. Việc tuần tự hóa có phần không liên quan ở đây.
Nếu bạn có thể cung cấp cho chúng tôi một ví dụ ngắn gọn nhưng đầy đủ về chính xác những gì bạn đang cố gắng làm, chúng tôi có thể giúp bạn tránh phải lo lắng về việc trốn thoát ngay từ đầu.
Câu trả lời ban đầu
Nó không hoàn toàn rõ ràng bạn muốn nói gì, nhưng thông thường các API XML làm việc này cho bạn. Bạn đặt văn bản trong một nút và nó sẽ tự động thoát khỏi bất kỳ thứ gì cần thiết. Ví dụ:
Ví dụ về LINQ sang XML:
using System;
using System.Xml.Linq;
class Test
{
static void Main()
{
XElement element = new XElement("tag",
"Brackets & stuff <>");
Console.WriteLine(element);
}
}
Ví dụ về 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);
}
}
Kết quả từ cả hai ví dụ:
<tag>Brackets & stuff <></tag>
Tất nhiên là giả sử bạn muốn thoát XML. Nếu bạn không, vui lòng đăng thêm chi tiết.