• 利用VS自带的xsd.exe工具,根据XML自动生成XSD,生成实体类CS


    1, 命令提示符--》找到vs自带的xsd.exe工具所在的文件夹 例如: C:Program Files (x86)Microsoft SDKsWindowsv7.0ABin 注意:win7操作系统“命令提示符”要以管理员身份运行
    2,将Xml文件拷贝到xsd.exe工具所在的文件夹,生成的xsd文件也将在这个文件夹中
    3,在命令提示符中输入 xsd.exe test.xml, 多个xml文件以空格隔开

    命令:xsd.exe xmlfile.xml [/outputdir:]

    语法示例:categories.xml

    <?xml version="1.0" encoding="utf-8" ?>
    <categories>
      <category>
        <id>2</id>
        <visible>true</visible>
        <title>新闻分类</title>
        <description></description>
        <parentId></parentId>
      </category>  
      <category>
        <id>0001</id>
        <visible>true</visible>
        <title>新闻分类一</title>
        <description>测试一~</description>
        <parentId>2</parentId>
      </category>
      <category>
        <id>0002</id>
        <visible>true</visible>
        <title>新闻分类二</title>
        <description>测试二~</description>
        <parentId>2</parentId>
      </category>
    </categories>

    生成xsd文件的使用方法:

    xsd categories.xml

    会在当前所在的目录下生成对应文件名的xsd文件

     也可以使用下面的xml进行测试:

    <?xml version="1.0" encoding="utf-8" ?>
    <userInput>
        <name>书名</name>
        <author>作者</author>
        <publisher>出版社</publisher>
        <pubDate>2020-9-7</pubDate>
        <price>2.3</price>
    </userInput>

    备注说明:生成的xsd文件中的数据类型都是string类型的,手工编写xsd会很精细,但对于复杂的XML文档来说是很费力气的。可以由XML文档推断出它的类型,尽管推断出的往往不够精准,但我们可以对推断出的字段类型进行一些修改,在大多数情况下就可以得到我们想要的了。

    ==========================================================================

    根据xsd文件生成cs文件

    xsd.exe语法示例

     一般情况下,xsd.exe位于C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin

     备注:根据VS的 不同版本,xsd.exe所在的路径会不同,最好是使用vs的命令行工具

    1、将xsd文件自成.CS类库。

    正确写法: xsd.exe xxx.xsd /l:c# /n:namespace

    xsd.exe   /d   /l:C#   a.xsd   /n:Namespace1.Namespace2

    /d   指令指示该工具生成   DataSet,

    /l:   告诉该工具要使用哪种语言(例如   C#   或   Visual   Basic   .NET)。可选的  

    /n:   指令指示该工具另外为   DataSet   生成名为   XSDSchema.Namespace   的命名空间。该命令的输出为   XSDSchemaFileName.cs

    2、  csc.exe   /t:library   XSDSchemaFileName.cs   /r:System.dll   /r:System.Data.dll     /t:   指令指示该工具编译成库,

    /r:   指令指定进行编译所需的依赖库。该命令的输出为   XSDSchemaFileName.dll,它可以在使用  

     /r:   指令编译   ADO.NET   应用程序时传递到编译器

    ===============================================================================

    一、 如何将.xsn文件转成.cs文件。 

    用infopath打开.xsn文件,在文件-另存为源码,保存后,将会有一系列的文件,将myschema.xsd文件和xsd.exe文件放在同一目录下,在DOS窗口上运行:

    xsd.exe   /d   /l:C#   myschema.xsd   /n:Namespace1.Namespace2

    就会生成一个myschema.cs文件,部分代码如下:

    //------------------------------------------------------------------------------

    // <auto-generated>

    //     此代码由工具生成。

    //     运行库版本:2.0.50727.42

    //

    //     对此文件的更改可能会导致不正确的行为,并且如果

    //     重新生成代码,这些更改将会丢失。

    // </auto-generated>

    //------------------------------------------------------------------------------

     

    //

    // This source code was auto-generated by xsd, Version=2.0.50727.42.

    //

    namespace Namespace1.Namespace2 {

        using System;

       

        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]

        [Serializable()]

        [System.ComponentModel.DesignerCategoryAttribute("code")]

        [System.ComponentModel.ToolboxItem(true)]

        [System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema")]

        [System.Xml.Serialization.XmlRootAttribute("NewDataSet")]

        [System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")]

        public partial class NewDataSet : System.Data.DataSet {

    。。。。。。。。。。。

    二、XmlSchema Class

    具体参考官方文档:https://docs.microsoft.com/zh-cn/dotnet/api/system.xml.schema.xmlschema

    出处:https://www.cnblogs.com/qq260250932/p/4245376.html

    您的资助是我最大的动力!
    金额随意,欢迎来赏!
    款后有任何问题请给我留言。

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我。(●'◡'●)

    如果你觉得本篇文章对你有所帮助,请给予我更多的鼓励,求打             付款后有任何问题请给我留言!!!

    因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【Jack_孟】!

  • 相关阅读:
    软件项目技术点(12)——绘制生成的图表到canvas
    软件项目技术点(11)——大图变小图提高绘图性能
    软件项目技术点(10)——将视频video绘制到canvas
    Git代码版本控制流程
    TypeScript名词解释系列:tsconfg中的target,module和moduleResolution
    正则表达式基础知识
    node-npm发布包-package.json中bin的用法
    npm link的作用——避免频繁发布更新
    AI在出行场景的应用实践:路线规划、ETA、动态事件挖掘…
    2020高德技术年刊:18万字、750页+,智慧出行最佳技术实践都在这了
  • 原文地址:https://www.cnblogs.com/mq0036/p/14505867.html
Copyright © 2020-2023  润新知