Tôi đang sử dụng XmlSerializer để viết và đọc một đối tượng để xml trong C#. Tôi hiện đang sử dụng các thuộc tính XmlElement
và XmlIgnore
để thao tác tuần tự hóa đối tượng.Tôi có thể không deserialize với XmlSerializer trong C# nếu một phần tử không được tìm thấy?
Nếu tệp xml của tôi thiếu phần tử xml mà tôi yêu cầu, đối tượng của tôi vẫn còn deserializes (xml -> đối tượng) tốt. Làm cách nào để chỉ ra (tốt nhất là thông qua Thuộc tính) mà một trường nhất định là "bắt buộc"?
Dưới đây là một phương pháp mẫu của những gì tôi hiện đang sử dụng:
[XmlElement(ElementName="numberOfWidgets")]
public int NumberThatIsRequired {
set ...;
get ...;
}
giải pháp lý tưởng của tôi sẽ có thêm một cái gì đó giống như một thuộc tính XmlRequired
.
Ngoài ra, có một tham chiếu tốt cho những Thuộc tính có sẵn để điều khiển hành vi của XmlSerializer không?
Câu hỏi msdn tương tự [tại đây] (http://social.msdn.microsoft.com/Forums/eu/xmlandnetfx/thread/a134471c-6b20-433e-8dd4-d153cac29810) cũng giải thích rằng xác thực là những gì bạn đang cố gắng để làm – KCD
nếu bạn không có phần tử 'numberOfWidgets' trong XML, bạn sẽ có gì trong thuộc tính NumberThatIsRequired? số không? –