2010-02-06 30 views
6

Tôi đang sử dụng xsd.exe để tạo lớp C# từ tập hợp các tệp xsd. Tệp xsd sử dụng thẻ <xsd:documentation> để bao gồm các mô tả hữu ích. Ví dụ:Cách bao gồm tài liệu xsd: trong lớp C# được tạo bằng XSD.exe?

<xsd:complexType name="AddressType"> 
    <xsd:annotation> 
     <xsd:documentation>A formatted or free form address and its intended use.</xsd:documentation> 
    </xsd:annotation> 

Thật không may tất cả điều này đều bị mất trong lớp C# được tạo. Điều thú vị là mỗi lớp có một chú thích trống thẻ tài liệu đính kèm với nó.

/// <remarks/> 

Làm cách nào để đưa tài liệu này vào lớp C# được tạo (trong thẻ hoặc tài liệu)?

Trả lời

1

xsd.exe dựa trên Codedom.

Bạn có thể tháo rời xsd.exe và thêm chức năng ở đó và biên dịch lại. Mã đơn giản hợp lý.

tôi đã sửa đổi nó để bỏ qua một số không gian tên từ xsd khi tạo mã. [Nếu không Nếu tôi bao gồm common.xsd trong 2 XSD khác lớp đã nhận được tạo ra hai lần.]

Cấp, tôi đã tiếp cận với nguồn chính nó [Tôi là một nhà phát triển tại Microsoft], nhưng quá trình này cũng đơn giản với mã được tháo rời.

1

Rất tiếc, không có cách nào để thực hiện việc này.

+0

Không có cách nào để làm điều đó với xsd.exe hoặc không có cách nào để làm điều đó với bất kỳ công cụ? –

+0

"Bất kỳ công nghệ tiên tiến nào cũng không thể phân biệt được với ma thuật". Tôi chắc rằng bạn có thể viết một công cụ để làm điều đó. –

+0

Có các công cụ khác làm phép thuật XSD thành C# ngoài XSD.exe không? Tôi thấy một tham chiếu đến XSDObjectGen, nhưng tải xuống duy nhất tôi có thể tìm thấy nó là từ năm 2006. Liệu nó vẫn hoạt động? 1 để tham khảo Clarke. –

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