Tôi biết tôi có thể sử dụng LINQ để ánh xạ các trường từ XML sang các trường trong một đối tượng đã tồn tại từ trước. Có bất kỳ chức năng nào trong Khuôn khổ .NET (hoặc các thư viện khác) làm cho hướng dẫn này ít hơn không.C# - Hydrate đối tượng hiện có với XML
Tôi muốn viết (và có HydrateFromXml cư xử một chút như AutoMapper không):
var myObject = new MyObject(/*ctor args*/);
myObject = myObject.HydrateFromXml(string xml);
Edit:
Tôi có thể sử dụng mô hình trang trí hoặc một đối tượng wrapper đơn giản ở đây? Deserialize trực tiếp vào một loại được bọc bởi một trừu tượng cho phép kiểm soát xây dựng hạt mịn tôi cần?
Tôi đã làm đôi chút tương tự như các thuộc tính với thuộc tính tuần tự hóa. Sau đó viết một phương thức phản ánh các thuộc tính được đánh dấu và sau đó tìm hiểu xung quanh trong xml cho nội dung để đặt chúng. Nói rằng giả sử không có chéo giữa constrcutor args và Hydration, waht về revesing nó. Sử dụng serialization để có được một sau đó thiết lập các arguemnts constructor? –
Tôi có thể tìm hiểu xem "hydrate" có nghĩa là gì trong bối cảnh này? –
@KennethK. Tôi nghĩ đó là điểm mấu chốt của vấn đề. Tôi muốn các thuộc tính trên 'myObject' được khởi tạo với các giá trị tương ứng trong XML, nhưng làm như vậy có nghĩa là cho chương trình biết cách thực hiện nó. Tôi đang tìm kiếm thứ gì đó không liên quan đến các trường ánh xạ thủ công, nhưng có vẻ như điều này là không thể. – Ben