Tôi đang sắp xếp một đối tượng trong ứng dụng C# VS2003/.Net 1.1. Tôi cần nó serialized mà không có hướng dẫn xử lý, tuy nhiên. Lớp XmlSerializer đặt ra một cái gì đó như thế này:Bỏ qua hướng dẫn xử lý XML khi tuần tự hóa một đối tượng
<?xml version="1.0" encoding="utf-16" ?>
<MyObject>
<Property1>Data</Property1>
<Property2>More Data</Property2>
</MyObject>
Có cách nào để có được một cái gì đó như sau, mà không xử lý văn bản kết quả để loại bỏ các thẻ?
<MyObject>
<Property1>Data</Property1>
<Property2>More Data</Property2>
</MyObject>
Đối với những người tò mò, mã của tôi trông như thế này ...
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
StringBuilder builder = new StringBuilder();
using (TextWriter stringWriter = new StringWriter(builder))
{
serializer.Serialize(stringWriter, comments);
return builder.ToString();
}
Nhưng điều này vẫn đòi hỏi sau chế biến kết quả để loại bỏ sự bắt đầu và kết thúc MyContainingElement thẻ, không có? Mặc dù ít nhất chúng sẽ được biết, vì vậy tốt ... –
Tôi đã chơi với điều này và thay thế WriteStartElement bằng WriteRaw ("") và loại bỏ WriteEndElement - sau đó tất cả những gì tôi cần làm để có được kết quả tốt là TrimStart() BOM tắt. Mát mẻ! –