2011-05-14 65 views
2

我有一個XSD(大大簡化了這個帖子):有沒有一種工具從xsd生成簡單的c#類?

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema id="serviceResponse" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> 
    <xs:element name="serviceResponse" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"> 
    <xs:complexType> 
     <xs:choice minOccurs="0" maxOccurs="unbounded"> 
     <xs:element name="searchResults"> 
      <xs:complexType> 
      <xs:sequence> 
       <xs:element name="numberOfResults" type="xs:string" minOccurs="0" /> 
       <xs:element name="raceList" minOccurs="0" maxOccurs="unbounded"> 
       <xs:complexType> 
        <xs:sequence> 
        <xs:element name="race" minOccurs="0" maxOccurs="unbounded"> 
         <xs:complexType> 
         <xs:sequence> 
          <xs:element name="id" type="xs:string" minOccurs="0" /> 
          <xs:element name="title" type="xs:string" minOccurs="0" /> 
         </xs:sequence> 
         </xs:complexType> 
        </xs:element> 
        </xs:sequence> 
       </xs:complexType> 
       </xs:element> 
      </xs:sequence> 
      </xs:complexType> 
     </xs:element> 
     </xs:choice> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 

我需要簡單的C#類:

public class serviceResponse 
{ 
    public searchResults SearchResults { get; set; } 
} 

public class searchResults 
{ 
    public string numberOfResults { get; set; } 
    public List<race> raceList { get; set; } 
} 

public class race 
{ 
    public string id { get; set; } 
    public string title { get; set; } 
} 

有人告訴我XSD.EXE甚至csxsd.exe能做到這一點,但沒有看到那些只能獲得簡單可用類的標誌。我只需要超級簡單的類,可以使用來自restful api調用的xml填充。我不想手動編寫150多種不同的對象類型。有沒有這樣的工具?

回答

3

您可以使用xsd.exe

究竟是什麼使這不適合?

5

嘗試Xsd2Code - 從CodePlex免費獲得。 Visual Studio插件右鍵單擊XSD併爲其生成.cs文件。

enter image description here

0

您也可以在您的Visual Studio工具Extwermal這樣的xsd: 在VS:

1.Select工具

2.Select外部工具

3。選擇ADD

◦Title=給出一個有意義的標題,如「XSD」

◦Command= C:\ Program Files文件\微軟的Visual Studio 8 \ SDK \ 2.0 \ BIN \ XSD.EXE 這是默認安裝位置

◦Arguments= $(ItemPath)/ C/L :vb 使用您通常會使用的標準XSD開關。在上面的「/ c/l:vb」中表示從當前的XSD文檔中創建一個VB類

◦ItemDirectory =您的選擇,但是如果您希望將輸出與xsd文件放在同一目錄/文件夾中, $(ItemDir)

◦follow上面的建議檢查「使用輸出窗口」,所以你可以看到發生了什麼事情

4.Click適用 執行以上後,你會看到「XSD」(或無論您輸入什麼標題)下一次您選擇的工具。選擇它以在當前文檔上運行xsd.exe。

相關問題