C#为xml可序列化类创建XSD的最简单方法是什么

时间:2009-02-18 12:18:24

标签: c# visual-studio-2008 xsd

首先,我是这个话题的新手,在收集了大量背景信息后,我变得更加困惑。

我有几个类,所有类都是可序列化的,有些实现了IXmlSerializable。这些类在适当的位置用[XmlRoot],[XmlAttribute]等标记。

我想知道的是如何使用现有标签为每个类创建一个简单的XSD。我对手动和编程方式都很感兴趣。如果可能的话,我更喜欢使用VS2008中集成的工具。

1 个答案:

答案 0 :(得分:4)

好吧,IXmlSerializable所有投注均已关闭,因为没有任何架构可以保证。但是,其余的:

xsd.exe <assembly>.dll|.exe [/outputdir:] [/type: [...]]

来自MSDN

  

/ t [ype]:typename指定名称   为其创建架构的类型。您   可以指定多个类型参数。   如果typename没有指定   命名空间,Xsd.exe匹配所有类型   在具有指定的程序集中   类型。如果typename指定了   命名空间,只匹配该类型。   如果typename以星号结尾   字符(*),该工具匹配所有   以字符串开头的类型   在*之前。如果省略/ type   选项,Xsd.exe为其生成模式   装配中的所有类型。

     

...

     

XSD的类生成XML模式   来自运行时中的一种或多种类型   程序集文件。生成的架构   定义使用的XML格式   System.Xml.Serialization.XmlSerializer。