[英]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.