首先,我是这个话题的新手,在收集了大量背景信息后,我变得更加困惑。
我有几个类,所有类都是可序列化的,有些实现了IXmlSerializable。这些类在适当的位置用[XmlRoot],[XmlAttribute]等标记。
我想知道的是如何使用现有标签为每个类创建一个简单的XSD。我对手动和编程方式都很感兴趣。如果可能的话,我更喜欢使用VS2008中集成的工具。
答案 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。