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

1, 命令提示符--》找到vs自带的xsd.exe工具所在的文件夹 例如: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin 注意: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

posted on 2021-03-09 15:35  jack_Meng  阅读(2973)  评论(0编辑  收藏  举报

导航