2011-05-14 117 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。

相关问题