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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM