2010-07-30 34 views
12

Tôi đang sử dụng XmlSerializer để tuần tự hóa một đối tượng và ghi nó vào một tệp. Tôi đã có khá nhiều thành công với serializer làm những gì tôi muốn nó làm trong điều khoản của các yếu tố làm tổ và những gì được tuần tự hóa như là các yếu tố vs các thuộc tính. Thật không may, tôi đã chạy vào một vấn đề mà tôi cần một thành viên của một lớp học để serialize trước khi khác. Ở những nơi khác nó làm việc cho tôi rằng bất cứ điều gì được tuyên bố đầu tiên được serialized đầu tiên, nhưng trong trường hợp này tôi không có quá nhiều thành công với điều đó. Có cách nào để tự kiểm soát thứ tự mà mọi thứ được sắp xếp theo thứ tự không?Kiểm soát thứ tự tuần tự hóa trong C#

Trả lời

25
[XmlElementAttribute(Order = 1)] 
public int Field1 {...} 

[XmlElementAttribute(Order = 2)] 
public int Field2 {...} 

Catch: Bạn phải ghi rõ Order cho tất cả các thành viên của bạn.

+0

Hoàn hảo. Tôi đoán tôi hoặc bỏ lỡ rằng trên MSDN hoặc không đào đủ để tìm thấy nó. Cảm ơn. – Zannjaminderson

+0

Có thể liên quan: Có cách nào để kiểm soát thứ tự với các thuộc tính XML không? 'XmlAttributeAttribute' không có thuộc tính như vậy. –

+1

@Travis: Theo kinh nghiệm của tôi, có ít vấn đề hơn (nếu có) với việc nhận các thuộc tính để tuần tự hóa theo thứ tự chúng được khai báo. –

2

XmlElementAttribute.Order, kiểm soát "thứ tự rõ ràng trong đó các phần tử được tuần tự hóa hoặc được tuần tự hóa".

Các vấn đề liên quan