Một vấn đề với StringWriter
là theo mặc định, nó không cho phép bạn đặt mã hóa mà nó quảng cáo - vì vậy, bạn có thể kết thúc với một tài liệu XML quảng cáo mã hóa của nó là UTF-16, có nghĩa là bạn cần mã hóa nó thành UTF-16 nếu bạn viết nó vào một tập tin. Tuy nhiên, tôi có một lớp học nhỏ để giúp đỡ:
public sealed class StringWriterWithEncoding : StringWriter
{
public override Encoding Encoding { get; }
public StringWriterWithEncoding (Encoding encoding)
{
Encoding = encoding;
}
}
Hoặc nếu bạn chỉ cần UTF-8 (đó là tất cả những gì tôi thường cần):
public sealed class Utf8StringWriter : StringWriter
{
public override Encoding Encoding => Encoding.UTF8;
}
Về lý do tại sao bạn không thể lưu XML của mình vào cơ sở dữ liệu - bạn sẽ phải cung cấp cho chúng tôi thêm chi tiết về những gì đã xảy ra khi bạn thử, nếu bạn muốn chúng tôi có thể chẩn đoán / sửa lỗi.