有没有办法从C#中的XML可序列化类生成XmlSchema?

时间:2014-02-11 17:01:59

标签: c# .net xml serialization xsd

我有以下课程:

[Serializable]
public class Person
{
    [XmlAttribute]
    public string Name { get; set; }

    [XmlAttribute]
    public int Age { get; set; }
}

现在当我从某个地方(例如Web服务)获取XML文件时,我需要将其反序列化为此类的实例。在此之前,我想根据模式检查XML文件,以确保XML具有适当的结构。我知道我可以通过XSD.exe工具创建架构,如下所示:

xsd.exe  MyAssembly.dll /type:Person

这将创建一个物理.xsd架构文件,然后我可以加载到XmlSchema对象。但是,我想跳过这个手动生成的模式文件,而是在内存中为给定的类动态创建XmlSchema。这样,当Person类被更改时,直接从其生成XmlSchema的代码将始终具有与该类的当前定义匹配的模式。这是我的首选方式,而不是每次更改Person类时都手动调用xsd.exe工具。

那么可以从Person类以编程方式创建XmlSchema吗?

0 个答案:

没有答案