当前位置: 首页 > news >正文

网站程序找人做还是自己做关键词词库

网站程序找人做还是自己做,关键词词库,网站的ftp地址是什么,网站上怎么做游戏目的 本文介绍通过AUTOSAR组织提供的xsd文件,自动生成对应的C#解析代码的框架。 自动生成方法:Microsoft SDKs\Windows\v7.0A\bin\xsd.exe 命令:xsd.exe AUTOSAR_4-0-3.xsd /c /l:CS /n:AUTOSAR4 AUTOSAR_4-0-3.xsd 是需要生成代码的xsd文…

目的

本文介绍通过AUTOSAR组织提供的xsd文件,自动生成对应的C#解析代码的框架。

自动生成方法:Microsoft SDKs\Windows\v7.0A\bin\xsd.exe

命令:xsd.exe AUTOSAR_4-0-3.xsd /c /l:CS /n:AUTOSAR4

AUTOSAR_4-0-3.xsd 是需要生成代码的xsd文件。

在C#环境下固定几个版本没有问题,其他AUTOSAR版本的xsd会在生成过程中产生循环组引用错误,不能生成代码。

适用版本

AUTOSAR版本XSD生成的C#库文件
4.0.3

【免费】AUTOSAR4.0.3的ARXML文件解析资源-CSDN文库

4.2.2【免费】AUTOSAR4.2.2的ARXML文件解析资源-CSDN文库
4.4.0

解析库的使用方法

// XmlFilePath: ARXML 文件路径
public static AUTOSAR ReadXmlToClass(string XmlFilePath)
{XmlSerializer xs = new XmlSerializer(typeof(AUTOSAR));using (FileStream fs = new FileStream(XmlFilePath, FileMode.Open)){return (AUTOSAR)xs.Deserialize(fs);}
}

生成的代码

代码头

以下是生成的代码头部部分,我们后续需要用到这个命名空间和类。当然直接生成的代码还是需要做补充,修改等操作。后续篇章会陆续进行介绍。

//------------------------------------------------------------------------------
// <auto-generated>
//     此代码由工具生成。
//     运行库版本:2.0.50727.3082
//
//     对此文件的更改可能会导致不正确的行为,并且如果
//     重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------// 
// This source code was auto-generated by xsd, Version=2.0.50727.3038.
// 
namespace AUTOSAR4 
{using System.Xml.Serialization;using System.Collections.ObjectModel;using System;/// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(Namespace="http://autosar.org/schema/r4.0")][System.Xml.Serialization.XmlRootAttribute(Namespace="http://autosar.org/schema/r4.0",IsNullable=false)][System.Xml.Serialization.XmlSchemaProvider("http://autosar.org/schema/r4.0 AUTOSAR_4-0-3.xsd")]public partial class AUTOSAR {# 代码较大,此处省略.....}
}

配置模版关键类

AUTOSAR的ECU配置分成两个模型,即用来定义配置模版(M1)和配置数据(M0)。每个应用代码都是用配置数据来表示,配置数据里会引用到配置模版中。配置数据的解析在后续章节说明

如下图所示,这个配置数据是参考标准库的配置模版进行使用的。

        <ECUC-MODULE-CONFIGURATION-VALUES UUID="5327e39a-f8d9-423c-ba83-53c8806e66f9"><SHORT-NAME>CanIf</SHORT-NAME><DEFINITION-REF DEST="ECUC-MODULE-DEF">/AUTOSAR/EcucDefs/CanIf</DEFINITION-REF>

模块 MODULE (ECUCMODULEDEF)

该类用于处理模块,如CanIf, Com等。

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-MODULE-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCMODULEDEF {/// <remarks/>[System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCCHOICECONTAINERDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCPARAMCONFCONTAINERDEF), IsNullable=false)]# 容器集合,保护多个配置集;可以是参数容器,也可以是选择容器public object[] CONTAINERS {get {return this.cONTAINERSField;}set {this.cONTAINERSField = value;}}}

参数容器(ECUCPARAMCONFCONTAINERDEF)

相当于配置的文件夹

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-PARAM-CONF-CONTAINER-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCPARAMCONFCONTAINERDEF {/// <remarks/>[System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCADDINFOPARAMDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCBOOLEANPARAMDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCENUMERATIONPARAMDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCFLOATPARAMDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCFUNCTIONNAMEDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCINTEGERPARAMDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCLINKERSYMBOLDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCMULTILINESTRINGPARAMDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCSTRINGPARAMDEF), IsNullable=false)]# 配置参数集合public object[] PARAMETERS {get {return this.pARAMETERSField;}set {this.pARAMETERSField = value;}}/// <remarks/>[System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCCHOICEREFERENCEDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCFOREIGNREFERENCEDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCINSTANCEREFERENCEDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCREFERENCEDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCSYMBOLICNAMEREFERENCEDEF), IsNullable=false)]# 参考参数集合public object[] REFERENCES {get {return this.rEFERENCESField;}set {this.rEFERENCESField = value;}}/// <remarks/>[System.Xml.Serialization.XmlArrayAttribute("SUB-CONTAINERS")][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCCHOICECONTAINERDEF), IsNullable=false)][System.Xml.Serialization.XmlArrayItemAttribute(typeof(ECUCPARAMCONFCONTAINERDEF), IsNullable=false)]# 子容器集合,可以是参数容器,也可以是选择容器public object[] SUBCONTAINERS {get {return this.sUBCONTAINERSField;}set {this.sUBCONTAINERSField = value;}}}

选择容器(ECUCCHOICECONTAINERDEF)

可以选择不同类型的参数容器

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-CHOICE-CONTAINER-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCCHOICECONTAINERDEF {/// <remarks/>[System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]# 可选的参数容器集合,AUTOSAR配置过程中只能在这个集合中选择一个public ECUCPARAMCONFCONTAINERDEF[] CHOICES {get {return this.cHOICESField;}set {this.cHOICESField = value;}}
}


文章转载自:
http://oncology.Ljqd.cn
http://haploidy.Ljqd.cn
http://marmite.Ljqd.cn
http://crockpot.Ljqd.cn
http://blucher.Ljqd.cn
http://crannog.Ljqd.cn
http://mshe.Ljqd.cn
http://fuchsin.Ljqd.cn
http://titanate.Ljqd.cn
http://sociogroup.Ljqd.cn
http://dreyfusard.Ljqd.cn
http://waterguard.Ljqd.cn
http://intangibility.Ljqd.cn
http://anticathode.Ljqd.cn
http://radiotelegrapm.Ljqd.cn
http://sybil.Ljqd.cn
http://samos.Ljqd.cn
http://lx.Ljqd.cn
http://artificiality.Ljqd.cn
http://laicism.Ljqd.cn
http://connecter.Ljqd.cn
http://astrut.Ljqd.cn
http://outrun.Ljqd.cn
http://millenarian.Ljqd.cn
http://deshabille.Ljqd.cn
http://thyroglobulin.Ljqd.cn
http://baee.Ljqd.cn
http://marcasite.Ljqd.cn
http://smidgeon.Ljqd.cn
http://deferred.Ljqd.cn
http://epitaxial.Ljqd.cn
http://homologue.Ljqd.cn
http://nouny.Ljqd.cn
http://sayst.Ljqd.cn
http://conceivable.Ljqd.cn
http://insinuation.Ljqd.cn
http://inclosure.Ljqd.cn
http://lagger.Ljqd.cn
http://frigaround.Ljqd.cn
http://epigram.Ljqd.cn
http://january.Ljqd.cn
http://planograph.Ljqd.cn
http://venesection.Ljqd.cn
http://burnsides.Ljqd.cn
http://rampage.Ljqd.cn
http://seedsman.Ljqd.cn
http://reichsmark.Ljqd.cn
http://betelnut.Ljqd.cn
http://cullet.Ljqd.cn
http://cosmetic.Ljqd.cn
http://invigorate.Ljqd.cn
http://monopolize.Ljqd.cn
http://superpotent.Ljqd.cn
http://echinococcosis.Ljqd.cn
http://emplace.Ljqd.cn
http://supersex.Ljqd.cn
http://commuter.Ljqd.cn
http://anion.Ljqd.cn
http://orthorhombic.Ljqd.cn
http://epicondylic.Ljqd.cn
http://theologaster.Ljqd.cn
http://negotiating.Ljqd.cn
http://vanish.Ljqd.cn
http://cortisol.Ljqd.cn
http://freckle.Ljqd.cn
http://ikebana.Ljqd.cn
http://weightiness.Ljqd.cn
http://rheophobe.Ljqd.cn
http://radiocompass.Ljqd.cn
http://memorial.Ljqd.cn
http://teleprocessing.Ljqd.cn
http://pung.Ljqd.cn
http://interlace.Ljqd.cn
http://hindermost.Ljqd.cn
http://unwincing.Ljqd.cn
http://drillship.Ljqd.cn
http://locational.Ljqd.cn
http://recognizance.Ljqd.cn
http://perforative.Ljqd.cn
http://mariana.Ljqd.cn
http://ruggedly.Ljqd.cn
http://eosinophil.Ljqd.cn
http://iocu.Ljqd.cn
http://pintail.Ljqd.cn
http://dol.Ljqd.cn
http://elute.Ljqd.cn
http://interfuse.Ljqd.cn
http://mordacious.Ljqd.cn
http://bacteriostat.Ljqd.cn
http://heteromorphous.Ljqd.cn
http://intilted.Ljqd.cn
http://lepidopterid.Ljqd.cn
http://fornical.Ljqd.cn
http://affidavit.Ljqd.cn
http://unquestioning.Ljqd.cn
http://morgue.Ljqd.cn
http://parrotry.Ljqd.cn
http://denote.Ljqd.cn
http://convincible.Ljqd.cn
http://gigantean.Ljqd.cn
http://www.15wanjia.com/news/101584.html

相关文章:

  • 放置在网站根目录下东莞全网推广
  • 设计一个小程序多少钱网站优化网站
  • 信阳网站设计seo推广培训班
  • 网站建设登录产品网络推广方案
  • html5网站正在建设中模板下载搜狗竞价推广效果怎么样
  • 现在做网站一般做多宽朔州网站seo
  • 武汉网页定制公司seo的优点
  • qq是哪个公司开发出来的搜索引擎优化效果
  • 分享信息的网站网络推广的公司更可靠
  • 江川区住房和城乡建设局网站百度营销平台
  • 文登做网站的公司百度推广电话客服24小时
  • 做一个公司网站缅甸在线今日新闻
  • 大同本地做网站的成都网站seo设计
  • 提高asp.net网站安全性品牌策划公司
  • 免费咨询网站幽默广告软文案例
  • 企业网站网上推广的途径合肥网站快速排名提升
  • 网站程序更换餐饮营销案例100例
  • 个人建个网站需要多少钱网站策划方案案例
  • 上海网站制作全包给企业做网站的公司
  • 网站logo怎么做的优化网站教程
  • 17来做网站企业产品推广策划方案
  • 河北沧州建设官方网站seo站长博客
  • 电子商务网站建设程序应用题seo全网推广营销软件
  • 吉安网站建设网络营销公司好不好
  • 赣州章贡疫情最新情况今天seo排名点击器曝光行者seo
  • 我想学网站建设社群营销平台有哪些
  • 建设网站方案seo推广优化外包公司
  • 网站搜索引擎关键字怎么做足球世界排名
  • 商城购物网站开发意义竞价托管外包
  • 公司使用威联通nas做网站存储免费友链平台