C#生成XSD规范

一:C#生成XML,其元素或属性由类的定义来设置(xml串行化)

将一个字符串转到一个XML文档中的xmlAttribute或xmlElement

using System;System.xml.Serialization;

namespace xmlserializa

{

1.初始化一个类,设置属性值

[XmlRoot("Truck")] ----设置作为XML中的根元素名称     public Truck()         { }                [XmlAttribute("id")] --------设置作为xml中的属性         public int ID         {             get{return this._id;}             set { this._id = value; }         }         [XmlElement("chepai")]------设置作为XML中的元素(默认状态)         public string cheID         {             get { return this._cheID; }             set { this._cheID = value; }         }         private int _id = 0;         private string _cheID = "";    }

class Program     {         [STAThread]         static void Main(string[] args)         {

2.创建XmlSerializer实例

XmlSerializer ser = new XmlSerializer(Type.GetType("ConsoleApplication1.Truck"));             Truck tr = new Truck();             tr.ID = 1;             tr.cheID = "赣A T34923";

3.Serialize方法--完成对类的串行化             ser.Serialize(Console.Out, tr);

}

}

个人总结,这个可以用来在C#中对XML的生成。

二:C#生成XSD规范,利用XmlSchema类

1。xsd基础:

类型:xs:integer;   xs:positiveInteger;(>0的整数);    xs:nonPositiveInteger;(<=0的整数);         xs:Bool;    xs:string         xs:dateTime;(日+时);       xs:date;(日);           xs:time;(时);

<xs:schema....>

<xs:complexType name="autotype">------2级    <xs:sequence>          <xs:element name="name" type="xs:string"/>-----1级     </xs:sequence> </xs:complexType>

<xs:complexType name="booktype">-----3级    <xs:sequence>           <xs:element name="typename" type="autotype"/>------应用2级     </xs:sequence> </xs:complexType>

<xs:element name="book" type="booktype"/>-----应用3级

</xs:schema>

2。设计成XML模式

class Program     {         [STAThread]         static void Main(string[] args)         {  XmlNamespaceManager nsm = new XmlNamespaceManager(new NameTable());             nsm.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");             XmlSchema sche = new XmlSchema();             XmlSchemaComplexType cauth = new XmlSchemaComplexType();             cauth.Name = "author";             XmlSchemaSequence seqauth = new XmlSchemaSequence();             XmlSchemaElement ele = new XmlSchemaElement();             ele.Name = "name";             ele.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");             seqauth.Items.Add(ele);             XmlSchemaElement eleage = new XmlSchemaElement();             eleage.Name = "age";             eleage.SchemaTypeName = new XmlQualifiedName("positiveInteger", "http://www.w3.org/2001/XMLSchema");             seqauth.Items.Add(eleage);             cauth.Particle = seqauth;             sche.Items.Add(cauth);                         sche.Compile(new ValidationEventHandler(valia));             sche.Write(Console.Out, nsm);         } }

个人总结:

结果:

<?xml version="1.0" encoding="gb2312"?> ----------------xs:..........->xmlNamespaceManager.AddNamespace <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">-new XmlSchema   <xs:complexType name="author">------------------new XmlSchemaComplexType     <xs:sequence>----------------------------------new XmlSchemaSequence       <xs:element name="name" type="xs:string"/>---new XmlSchemaElement       <xs:element name="age" type="xs:positiveInteger"/>------new XmlSchemaElement      </xs:seqence>   </xs:complexType> </xs:schema>

XmlSchema.Items.Add(XmlSchemaComplexType) XmlSchemaComplexType.Particle = XmlSchemaSequence XmlSchemaSequence.Add(XmlSchemaElement)

http://blog.sina.com.cn/s/blog_5d77d3390100btr4.html

时间: 2024-10-24 23:54:10

C#生成XSD规范的相关文章

利用Vistual Studio自带的xsd.exe工具,根据XML自动生成XSD

利用Vistual Studio自带的xsd.exe工具,根据XML自动生成XSD 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文件以空格隔

XsdGen:通过自定义Attribute与反射自动生成XSD

前言 系统之间的数据交互往往需要事先定义一些契约,在WCF中我们需要先编写XSD文件,然后通过自动代码生成工具自动生成C#对象.对于刚刚接触契约的人来说,掌握XMLSpy之类的软件之后确实比手写XML效率要高,但还是有些学习成本的.此外XML的tag太多,如果设计的类型属性过多,手写XSD也不太现实,很难专注于设计. 于是我想能不能先用C#写好类型,然后自动生成标准格式的XSD呢.经过三天左右的设计和实现,目前实现了以下功能: 1. 支持Class和Enum类型的设计 2. 支持基元类型.自定义

JDK Tools - wsimport: 编译 WSDL 生成 JAX-WS 规范的 Java 类

wsimport 命令是用来编译 wsdl 生成JAX-WS 规范的 Java 类的工具. 命令格式 wsimport [ options ] wsdl 命令参数 -s directory 指定源文件所在的目录. -d directory 在指定的目录生成 Java 类. -p name 指定生成的 Java 类的包路径去覆盖 WSDL 和 Schema 制定的. -wsdllocation location 指定 @WebServiceClient.wsdlLocation 的取值. -qui

根据XML自动生成XSD

利用Vistual Studio自带的xsd.exe工具,根据XML自动生成XSD 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, 多个x

如何由XSD自动生成XML和实体类

项目中有时候要用XML作为数据源,因此需要定义XML文件和相应的类,最佳方法是首先定义XSD,然后自动生成实体类,最后生成XML和填充数据:读取XML数据源的时候,首先用XSD验证XML数据格式,然后自动读入实体类使用. 定义XSD的过程就是类似设计表结构的过程,二者也可以相互转化. 本文讨论了如何定义XSD文件(XML Schema),然后自动生成实体类,最后生成XML的过程,以及如何根据XSD验证XML文件的合法性.以供大家做项目时参考. 1. 首先在VS2005中添加一个XSD文件.例子X

使用 xsd.exe 命令工具将 xsd 架构生成 类(CS) 文件

vs自带命令行工具 命令:xsd C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC>xsd d:Scheme. 生成xsd文件  路径为vs的默认路径vc文件夹下 命令: xsd  xsd文件路径  /c /outputdir:d:                默认生成数据集 /c 生成实体类(见图) 在线转化工具: http://xsd2xml.com/ http://xmlgrid.net/genXml.html http://bl

使用XSD校验Mybatis的SqlMapper配置文件(1)

这篇文章以前面对SqlSessionFactoryBean的重构为基础,先简单回顾一下做了哪些操作: 新建SqlSessionFactoryBean,初始代码和mybatis-spring相同: 重构buildSqlSessionFactory()方法,将众多的if语句抽取为一组小方法,预留自定义配置的方法,同时添加常用属性的getter方法: 提取组件工厂接口,并提供组件创建工具类SqlSessionComponetFactorys,将散落在不同地方的new Xxx()集中管理,便于组件的替换

利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析

首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) 1 首先建立一个空白XML文件,直接点击下图所示即可: 2 可以使用xml文本编辑界面,或者使用xml树状图编辑界面 切换到xml树状图编辑界面的方法为: 即可调出当前xml文件所对应的xml树状图编辑界面 3 设计并编辑xml文件 根据自己的需要可以利用xml树状图操作界面来方便的设计自己的xml

JAVA语言编程格式规范

目   录 1. 前言 2. 试用范围 3. JAVA命名规范-- 3.1 公共约定 3.2 Java文件.包 3.3 类.接口命名规范 3.4 方法命名规范 3.5 常量 3.6 变量和参数 3.7 组件/部件 3.8 集合 3.9 神秘的数 3.10 其他 3.11 Java异常 3.12 数组命名 3.13 数据库表命名规则 3.14 数据库字段命名规则 3.15 JSP文件命名 3.16 Servlet类命名 4. 书写格式规范 4.1 缩进 4.2 空格 4.3 对齐 4.4 空行 4