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
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