根據xsd產生C#類

來源:互聯網
上載者:User

標籤:finally   sof   names   rate   mpi   port   generator   soft   stat   

var file = "1.xsd";                // Get the namespace for the schema.            CodeNamespace ns = Processor.Process(file, "Dm");            // Create the appropriate generator for the language.            CodeDomProvider provider;            if ("cs" == "cs")                provider = new Microsoft.CSharp.CSharpCodeProvider();            else if (args[3] == "vb")                provider = new Microsoft.VisualBasic.VBCodeProvider();            else                throw new ArgumentException("Invalid language", args[3]);            // Write the code to the output file.            using (StreamWriter sw = new StreamWriter(file, false))            {                provider.CreateGenerator().GenerateCodeFromNamespace(                  ns, sw, new CodeGeneratorOptions());            }            Console.WriteLine("Finished");            Console.Read();

 

Process

public sealed class Processor        {            public static CodeNamespace Process(string xsdFile,               string targetNamespace)            {                // Load the XmlSchema and its collection.                 XmlSchema xsd;                using (FileStream fs = new FileStream(xsdFile, FileMode.Open))                {                    xsd = XmlSchema.Read(fs, null);                    xsd.Compile(null);                }                XmlSchemas schemas = new XmlSchemas();                schemas.Add(xsd);                // Create the importer for these schemas.                 XmlSchemaImporter importer = new XmlSchemaImporter(schemas);                // System.CodeDom namespace for the XmlCodeExporter to put classes in.                 CodeNamespace ns = new CodeNamespace(targetNamespace);                XmlCodeExporter exporter = new XmlCodeExporter(ns);                // Iterate schema top-level elements and export code for each.                 foreach (XmlSchemaElement element in xsd.Elements.Values)                {                    // Import the mapping first.                     XmlTypeMapping mapping = importer.ImportTypeMapping(                      element.QualifiedName);                    // Export the code finally.                     exporter.ExportTypeMapping(mapping);                }                return ns;            }        } 

Client

 

根據xsd產生C#類

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.