2012-02-21 51 views
5

Tôi đang sử dụng XSD2CODE với Visual Studio 2010. Tôi biết tôi có thể nhấp chuột phải vào tệp lược đồ (XSD) và tạo lớp C# từ nó.Sử dụng XSD2CODE với nhiều tệp lược đồ

Điều tôi muốn biết là làm thế nào tôi có thể tạo lớp C# khi tôi có hai tệp lược đồ cho một tệp XML?

Thông tin khác:

Có lẽ tôi không cung cấp đầy đủ chi tiết trong câu hỏi ban đầu.

Câu hỏi tham chiếu Why does XSD.EXE Create Two .XSD Files, and How to Use Them?, về cơ bản tôi hỏi cùng một câu hỏi cho XSD2CODE thay vì XSD.

Với XSD tôi sẽ sử dụng lệnh:

D:\>xsd response.xsd response_app1.xsd /classes

Làm thế nào để làm điều này với XSD2CODE, cả trong VS 2010 GUI và/hoặc dòng lệnh?

Trả lời

3

EDIT:
Để trả lời câu hỏi được cập nhật, có vẻ như XSD2Code không được thiết kế để xử lý nhiều tệp .xsd cùng một lúc.

tôi thu thập từ:

  1. Các dòng lệnh cú pháp
    Xsd2Code.exe <XSD File> [Namespace] [Output file name] [Options]
  2. Một trình duyệt nhanh mã nguồn (tải xây dựng 88.331 từ http://xsd2code.codeplex.com/SourceControl/list/changesets và nhìn vào Trunk\Xsd2Code.Console\EntryPoint.cs

. Pascal Cabanel có vẻ khá tích cực trên trang CodePlex của Xsd2Code. Hãy cân nhắc liên hệ với anh ta để có câu trả lời rõ ràng: http://www.codeplex.com/site/users/view/pcabanel

  • Tôi sẽ để nguyên điều này. trả lời dưới đây

Để tự động tạo ra các tập tin lớp xsd2Code hỗ trợ, bạn có thể nhấp vào tập tin XSD trong Solution Explorer và trong cửa sổ Properties, viết/dán Xsd2CodeCustomTool vào "công cụ Custom " bất động sản.

Để "xem" các loại dữ liệu từ một tệp .xsd trong tệp còn lại, bạn có thể sử dụng câu lệnh include.

Dưới đây là ví dụ về Person.xsd chứa định nghĩa dữ liệu và Employees.xsd include -ing Person.xsd và tiêu thụ loại dữ liệu Person.

  • Lưu ý rằng kể từ khi Employees.xsd đã bao gồm Person.xsd, bạn sẽ chỉ phải tạo Xsd2Code cho Employees.xsd.

Người.xsd

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      targetNamespace="CommonNamespace" 
      xmlns="CommonNamespace" 
    > 
    <xs:complexType name="Person"> 
     <xs:sequence> 
      <xs:element name="Name" type="xs:string"/> 
     </xs:sequence> 
    </xs:complexType> 
</xs:schema> 

Employees.xsd

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      targetNamespace="CommonNamespace" 
      xmlns="CommonNamespace" 
    > 
    <xs:include schemaLocation="Person.xsd"/> 

    <xs:element name="Employees"> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element name="Employee" type="Person" maxOccurs="unbounded"/> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 

</xs:schema> 
+0

Tôi không hiểu tại sao điều này giúp tôi với nhiều file schema – JonnyBoats

+0

Tôi nghĩ rằng tính năng tự động tạo ra nhiều file là vấn đề. Tôi đã cập nhật câu trả lời của mình. – AVIDeveloper

+0

AVIDeveloper - cảm ơn bạn đã cập nhật. Thật không may điều này sẽ yêu cầu thay đổi đối với các tệp lược đồ, một thứ không được yêu cầu bởi XSD. Tôi đã cập nhật câu hỏi. – JonnyBoats

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