Tôi có vấn đề này cùng thời gian gần đây,
tôi đã được đưa ra một Schema từ một công ty bên thứ ba đã được trả lại một cấu trúc xml từ một webservice. Sau đó tôi muốn deserialise phản ứng và lưu trữ các thông tin vào một cơ sở dữ liệu với NHibernate.
Không có vấn đề gì tôi nghĩ tôi sẽ chỉ sử dụng xsd.exe và tôi sẽ có các lớp học của mình. Thật không may điều này đã không được. Xsd.exe thất bại với chính xác cùng một lỗi bạn đang nhận được. Điều này là do nó không thể giải quyết các tham chiếu vòng tròn.
Tôi đã dành một vài ngày tốt để xem các lựa chọn thay thế cho đến cuối cùng tôi đã viết cấu trúc lớp của riêng mình cho giản đồ và có thể deserialise hoàn hảo. Câu trả lời ở đây là viết các lớp C# của riêng bạn và trang trí chúng với các thuộc tính thích hợp.
Tiết kiệm thời gian và đau khổ và không tiếp tục thử và tạo các lớp bạn cần tự động cuối cùng mặc dù tốn thời gian các lớp bạn viết sẽ không gây ra sự thỏa hiệp mà hầu hết các công cụ (không hoạt động hoàn hảo) sẽ làm cho bạn thực hiện.
Mất khoảng 3 ngày để viết cấu trúc lớp học (nó lớn) nhưng tôi đã kết thúc với một giải pháp chất lượng.
Một điều chắc chắn là bạn sẽ không thể sử dụng xsd.exe và hầu hết các công cụ khác mà tôi đã thử sau khi googling điều này hoặc không hoạt động đúng hoặc bị lỗi.
Nguồn
2010-11-09 22:49:17
Sau khi thực hiện thêm một số nghiên cứu, có vẻ như có một số vấn đề với công cụ XSD.exe. Tôi đang tiến bộ bằng cách sử dụng công cụ tạo mã của công cụ của bên thứ ba đã tạo mã C# từ lược đồ mà không gặp bất kỳ sự cố nào (và cũng tạo ra nhiều tệp lớp tốt hơn). –
Bạn đã sử dụng công cụ của bên thứ ba nào, bởi vì tôi có cùng một vấn đề? – jitm
BENBUN, bạn có thể cho chúng tôi biết về công cụ này không? – Yurik