簡體   English   中英

是否有工具從xsd生成簡單的c#類?

[英]Is there a tool to generate simple c# classes from an xsd?

我有一個xsd(這個帖子大大簡化了):

<?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多種不同的對象類型。 有沒有這樣做的工具?

嘗試Xsd2Code - 免費,可從CodePlex獲得。 右鍵單擊XSD並為其生成.cs文件的Visual Studio插件。

更新 (2018年5月):
很遺憾,此工具已不再免費提供。 您可以在此處找到新的Xsd2Code網站,並查看許可選項。

在此輸入圖像描述

您可以使用xsd.exe進行此操作。

究竟是什么讓這個不合適?

您還可以在Visual Studio Extwermal工具中包含xsd,如下所示:在VS中:

1.選擇工具

2.選擇外部工具

3.選擇添加

◦標題=給出一個有意義的標題,如“XSD”

◦Command= C:\\ Program Files \\ Microsoft Visual Studio 8 \\ SDK \\ v2.0 \\ Bin \\ xsd.exe這是默認的安裝位置

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

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

◦按照上面的建議檢查“使用輸出窗口”,這樣您就可以看到正在發生的事情

4.單擊“應用”執行上述操作后,下次選擇“工具”時,您將看到“XSD”(或您輸入的任何標題)。 選擇它以在當前文檔上運行xsd.exe。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM