2008-09-16 30 views
6

Tôi đang làm việc trong ứng dụng .net nơi chúng tôi cần tạo tệp XML ngay lập tức dựa trên tập dữ liệu được truy xuất từ ​​db. Lược đồ XML nên dựa trên một xsd được cung cấp. Tôi muốn biết là có cách nào để ràng buộc hoặc liên kết một tập dữ liệu hoặc mỗi datarow với xsd. Tôi không biết liệu nó có thể được thực hiện ở tất cả hoặc tôi có thể suy nghĩ việc sử dụng XSDs ở một góc độ sai. Nếu tôi sai, hãy sửa tôi và cho tôi biết cách tốt nhất để liên kết dữ liệu được lấy từ db đến một schema.Thanks được xác định trước.Sử dụng xsd để tạo XML trong .net

Cập nhật: Nếu quan điểm của tôi về xsd là sai, hãy làm sáng tỏ cách sử dụng xsds (hoặc có thể chỉ cho tôi một số liên kết hữu ích).

+0

Tôi đã tìm kiếm mã như vậy, không có sẵn readymade .. có vẻ như nó không phải là đơn giản. Tốt. Nếu nó dành cho thử nghiệm của bạn thì hãy truy cập Altova XMLSpy, hoạt động như gem để tạo XML. –

Trả lời

1

Ngoài các giải pháp được đề xuất bởi Joel Coehoorn - tạo bộ dữ liệu đánh máy hoặc tổ chức kinh doanh từ XSD - hãy để tôi thêm một vài cách tiếp cận khác:

  1. Nếu bạn sử dụng một cơ sở dữ liệu có hỗ trợ kiểu XML như Oracle hoặc MS SQL Server, bạn có thể xây dựng XML ngay trong các truy vấn SQL của bạn và truy xuất XML trực tiếp từ cơ sở dữ liệu bỏ qua tập hợp dữ liệu. Trong trường hợp lược đồ cơ sở dữ liệu của bạn không được ánh xạ trực tiếp tới XSD đã cho, nghĩa là bạn đã có một tập dữ liệu đã nhập hoặc một tập hợp các đối tượng kinh doanh có thể tuần tự hóa XML và các đối tượng đó được tuần tự hóa thành XML không phù hợp với XSD cung cấp, sau đó bạn có thể sử dụng XSLT để chuyển đổi XML của bạn sang một tài liệu XML khác mà sẽ tuân thủ với XSD đã cho.
3

Sử dụng tài liệu lược đồ làm tham số cho chương trình xsd.exe dòng lệnh đi kèm với studio trực quan để tạo tệp lớp hoặc tập dữ liệu được nhập mà bạn có thể đưa vào dự án/giải pháp của mình. Các lớp hoặc tập dữ liệu này có thể được tuần tự hóa thành xml và sẽ tuân theo tài liệu lược đồ mà bạn đã sử dụng để tạo chúng.

Vấn đề duy nhất với điều này là nó không phải là động: bạn không thể đợi cho đến khi thời gian chạy để nhận tệp lược đồ. Nhưng không có gì được xây dựng trong đó hỗ trợ này nếu không.

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