C#编制程序命名规范

  • XML用处

  王小明,他的长辈肯定有姓王的,彭河村中村乡不就有家王姓人家啊,可能正是那家的小孩子,2个走丢的小孩子就马到功成的回家了。

存款和储蓄配置文件,存款和储蓄数据用于远程传输等。.net提供了system.xml命名空间的类,用于读写xml文件(XmlTextReader、XmlWriter),分析xml文件结构(XmlNode、XmlDocument),转换xml文件格式成其余格式文件(XmlTransform),用xml类处理数量,用XPath类在xml文件查询。

  命名规范就犹如给人起名相同,从名字中流言出有个别新闻,比如作用域、类型,能够起到见名知义的机能,在付出的时候,有个完美的命名规范能够升高广大的付出效用。特别是集体开发的时候,种种人的命名规范不相同,在调用或体贴的时候,还要花时间来切磋小编创造类或字段的来意。

  • 理解XML
  • 命名空间:使用格式<Company>.<Compinent>,如,Weimei.Study,这样规范重大是为着在引用了第一方库的时候防止命名空间重名,造成编码是的模糊;
  • 类、接口、方法及性能:使用帕斯Carl命名规则,如,GetDescript;
  • 变量:使用Camel命名规则,如,personCount;
  • 常量:全体大写,单词之间用下划线“_”隔开,如,GROW_UP_AGE。

    namespace Weimei.Study
    {
    
      class Person 
        {
            public const int GROW_UP_AGE = 18;
            private string _name;
            public string Name;
            { 
                 get{ return _name;}
                 set{ _name = value;}
            }
            public int Age { get; set; }
        }
    
        interface IPersonService
        {
            string GetDescript();
        }
    }
    

     

XML。SGML通用标记语言的子集,那语言派生出HTML和XML。XML是与人工可读元数据相结合的人工可读数据。成分,包括1对标签和3个值。xml允许空白增强可读性,类似C#每行前边的空格。xml和html一样,都是由成对标记和数目整合<br
/br>,/,<p/>代表一对P标签,别的类似。< />一对空标记

 

xml可按规则随意给成分起名(<city>berlin</city>),规则是称呼是别的字母数字字符专用字符,没空白,以字母或下划线开头。例如成分<city>berlin</city>,名称是city,值是berlin。成分可嵌套,无法重叠(即在相同上级里再度,xml文件,从数据结构看,是一棵树),用ie打开xml即可查看xml的始末。

  使用前缀或后缀作为标识,区分分裂的职能或项目:

xml命名空间,在xsd文档(用xml表示数据库结构的文书档案),有xmlns=,代表那么些xml的namespace,=后边是命名空间名,xmlns:
是引用别的命名空间。同名xml成分,用命名空间区分,例如,xs是用前缀xmlns标记的using的别样命名空间名,那里表示element标记来自xs命名空间<xs
: element  name=”address” type=”xs:string” minOccurs=”0″/>。

  • 接口:使用假名”I“作为前缀;
  • 静态变量:使用“s_”作为前缀;
  • 实体变量:使用“m_”作为前缀;
  • 分子变量:使用“_”作为前缀。

    namespace Weimei.Study
    {
        class Program
        {
            static void Main(string[] args)
            {
                Person m_person = new Person();
                m_person.Name = "王小明";
                m_person.Age = 12;
                IPersonService m_ps = new PersonService(m_person);
                string result = m_ps.GetDescript();
    
                Console.WriteLine(result);
                Console.ReadLine();
            }
        }
    
        class Person
        {
            public const int GROW_UP_AGE = 18;//成年年龄
            private string _name;
            public string Name
            { 
                 get{ return _name;}
                 set{ _name = value;}
            }
            public int Age { get; set; }
        }
    
        interface IPersonService
        {
            string GetDescript();
        }
    
        class PersonService : IPersonService
        {
            Person _m_person;
    
            public PersonService(Person m_person) 
            {
                _m_person = m_person;
            }
            public string GetDescript()
            {
                string desc = "未成年";
                if (_m_person.Age >= Person.GROW_UP_AGE) 
                {
                    desc = "已成年";
                }
    
                return _m_person.Name + desc;
            }
        }
    }
    

     注意事项:

  • 在起名字时,不要任意起,比如变量int
    a,别的人要明白那一个变量是干什么用的还要看上面包车型大巴代码。如若变量使用来计数的,则应起名称为xxCount;

  • 创建类时不要与内置类名相同,以防混淆;
  • 方便使用前缀和后缀,反之会弄巧成拙。

也可用天性表示xml内容。有时用成分表示,并嵌套;还足以用特色表示xml内容,叁个性子,就是3个单元格数据,包括在一个因素内,那里的贰个因素,代表壹行数据。

 

xml内容里能够有转义字符。如&lt: 代表<,&apos:
代表单引号’等;还能用cdata标记那是全部字符串,这一个字符串不带有语法方面包车型地铁适合,例如<![cdata[aldjflja!@#$]]>中的aldjflja!@#$,就被标记成字符串。

诠释和拍卖指令。如<? ?>是给电脑看的处理指令,<–
–>是给人看的阐明,不能够嵌套。例如这几个处理指令把样式表与当下文件联系起来<?xml-stylesheet
href=”customers.css” type=”text/css”?>

  • XSLT

是三个转换xml的转换器,xsl文件包蕴与xml成分对应的格式消息(如xml有个别名称节点的换行br,段落p等),与xml文件1起,可把xml文件输出成html(把xlt在xml对应成分上的格式,加入到xml数据)、txt、word等大致任何文件格式。可在xml文件中钦点xls样式文件,<?xml-stylesheet
type=”text/xsl”
href=”cust.xsl”?>。样式文件cust.xlt中,body中从未标记命名空间的成分,会作为xml文件的体裁(前边用ie打开xml,就是调用了ie中放到的xslt这些转换器,加载xml文件中绑定的xls文件,把xml呈现出来)。样式文件,其实正是xhtml文件(用xml重写的html四.0一),xlt中能够运用foreach循环,例如用来找xml文件中的全体钦点的成分名称select=,还足以用value-of重返找到成分的值。要求小心的是xml中的标记一定要成对出现,html可归纳前边的,例外是那种一个的号子<p/>。

  • XSD

讲述数据库架构。

引用命名空间。例如xmlns:mstns=“http://tempuri.org/dataset1.xsd”

概念dataset成分内容,从此处起初,例子是接二连叁的。例如<xs:element
name=”dataset一” msdata:isdataset=”true”>

概念dataset成分包涵的数量数量。例如 <xs:conplextype> <xs:choice
maxOccrurs=”unbounded”>,无限数据。

概念在dataset元素中的数据成分。例如<xs:element name=”customers”>

定义表的列。每初始一级,就加<xs:complexType>。<xs:sequence>
<xs:element name =”custeomerID” type =”xs:string” />

定义表的主键。

别的可参考vs在线接济中“xsd架构参考”

  • 起名,写XML

读写XML,类似流和输入输出那章的始末。

写XML文件。用XmlTextWriter类,派生自XmlWriter类。过程是

XmlTextWriter xw
new XmlTextWriter(@“本地目录和文书名.xml”,system.text.encoding.utf8);//在内定目录新建钦命的xml文件,钦定字符集

xw.writestartdocument;//初始写文书档案

xw.writestartelement(”newdataset“);//写3个因素标签头

xw.writestratelement(“customers”);//再写三个要素标签头,因上一个要素没得了,所以那个嵌套在上二个因素内。

xw.writeelementstring(”coustomerID“,”ID1“);//在上叁个标签头内容,写贰个要素名和成分值

…//写别的因素

xw.writeendelement();上多少个因素形成,customers的,对应数据库的1行数据

xw.writestartelement(”customers“);//写另1行数据

xw.writeendelement();//那行数据形成

xw.writeendelement();//newdataset成分dataset完毕,dataset可含多个表

xw.writeendDocument();//完结文书档案写。

xw.flush();//内部存款和储蓄器的数据,提交到存款和储蓄

xw.close();

XmlTextWriter类自动写xml文件的扬言。没在那些文件写空白和非暗中认可的格式新闻。

  • DOM文书档案对象模型

XmlDataDocument用于共同DataSet和xml,继承自xmlDocument类,xmldoucument类是DOM的四个达成。

DOM。是接口,用于程序姚剧本动态地拜会和翻新文书档案内容、文书档案结构、文书档案样式。XML文件和HTTP文件以节点树情势保留DOM标准,DOM是W3C的正儿八经标准。DOM标准是1组正式,包涵XML
DOM、DHTML
DOM(动态HTML文书档案的意味行业内部)。不恐怕扶助全部COM标准,.NET框架包括对DOM
Level 1 Core和DOM Level 2
Core规范的支撑,还经过向DOM规范添加额外的目的、方法、属性来扩展DOM,Internet厂商一般也都那样做,具体厂商是如何履行的,须求参考厂商的文档。
DOM具体规范在www.w3.org/dom

XML DOM在.net的达成。XmlNode类和XmlDocument类完成XML
DOM。XmlNode表示XML文件的多个骨干部分。XmlDocument把全副文件表示为XmlNode对象的聚合。

XmlNode类。从前方的可观察,XML文书档案正是1多级互动嵌套的成分和特色,都可转移为树结构,成分和特征都意味为节点,XmlNodeType枚举表示节点的花色,从技术上讲,特性是父成分的质量,使用XmlNode能够读取和安装节点属性。其余依照节点类型,派生出XMLAttribute类、XmlComment类、XmlElement类。XmlNode的NodeType属性包涵元素element、性格Attribute、个性元素别的节点的文件内容text等,XmlNode的Attributes属性是此node的特征,XmlNode的haschildnodes属性,XmlNode的nextsibling属性获得树中下三个node,xmlNamedNodeMap是几个节点集合

XmlDocument类。继承自XmlNode类,XmlDocument的DocumentElement属性表示文书档案XML根元素。XmlDataDocument继承自xmlDocument继承在XmlNode。

  • 读XML文件

用xmlreader抽象类的3个派生类,xmlValidatingReader,XmlNodeReader类,XmlTextReader,再次回到用文书档案对象模型DOM承载的XML文件新闻。xmlTextReader属性惠特espaceHandling表示空白怎么处理。

读取进程。使用xmlTextReader读取文件,使用XmlDocument的Load方法,把内容到场到XmlDocument中,并按规范格式化,用XmlDocument的DocumentElement属性获取跟节点,用每个节点的NextSibling属性依次得到下二个节点,知道获取不到下一个节点,用XmlNode的name和value属性获取每种节点的称号和值,用节点的Attributes属性获取每一个节点的风味集(保存到xmlNamedNodeMap的靶子里,各种性格也有name和value属性)。

  • 转换XML

由此system.xml.Xsl命名空间的对象达成。如XslTransform类。

改换进程。创设XmlTextReader对象读xml文件,用XmlDocument的load方法标准化数据,用XslTransform的load方法读取xsl样式文件,成立MemoryStream对象,用读取了xsl的XslTransform对象的Transform方法转换XmlDocument中的数据,同时把转换后的多都督存到MemoryStream,把MemoryStream内容的原初地点设为一,创立关联了MemoryStream的StreamReader,用StreamReader的ReadToEnd方法,输出转换后的内容,那内容暗中认可是html格式。

XslTransform类的transform方法有部分重载的格式,达成出口到MemoryStream以为的对象,如netStream跨网络发送转换后的数量,StringWriter发送给某些文件。

  • 在XML查询数据

用XPath标准。

 

 

 

 

 

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图