zoukankan      html  css  js  c++  java
  • XML的学习笔记(一)————基本语法和规范

    题外:为什么我要学XML呢?因为发现ROS系统里面有好多程序,是XML的,当然,我看不到,所以就来补补课,因为暂时只要求能看懂,或能简单写几行,所以,记述的也就不是太详细了。

    如何识别XML?

    可以先介绍XML的一些简单的规则,XML本身就是一个文本文件,XML是通过标记来描述文件的,比如:

    <user>
    
    </user>

    “user”这两个就是标记,注意标记有开头就有结尾,结尾就是在开头的前面加一个”/“。

    可以描述其更描述的信息,比如想描述这个人的姓名和性别,那接着在标记里面再写就行了,格式相同

    <user>
             <name>laotan</name>
             <gender></gender>
    </user>

    这就是一段XML的程序了,可以用来描述文档,当然还有具体的语法格式,只要类似于这种标记来写的,就是一个XML文件。

    XML的优缺点

    XML是纯文本形式的,在每个系统上,都是可以支持的,同时对语言也没有太多的要求,所以,ROS系统中有一些文档是XML格式的,而且是作为轻量级的数据存储来存在。当然,这种方式的确定也是显而易见的,要插入太多的标记,反而会是编程的效率变低。

    最常用就是在配置文件里面使用了。

    XML语法的详解

    概念

    标签:开始标签对应结束标签,中间的是子标签(“title” “author” “publish”)。

    属性及属性值:”id“是标签的属性,一定要跟开始标签空一格,而且属性不以单独出现,属性都会有一个值,比如该例当中 id="001" 就有属性值。

    文本:标签中间的内容就叫文本(PCDATA,文本字符串)(该例当中:“跟老谭学XML”等等就是文本)。

    元素:最后一个就是元素的概念,这整块儿都可以称之为一个video元素。一个元素包含标签及文本,当然还有其属性,比如,上例整个是一个video元素,而下面就是一个title元素。

    <title>跟老谭学XML</title>

     整体结构

    什么叫:"有且仅有一个根元素"?

    意思就是说,

    <?xml version="1.0" ecoding="UTF-8"?>//这个是头文件先不用管
    <user>
      <name>laotan</name>
      <gender></gender>
    </user>
    
    <dept>
    </dept>

    像这样的代码,就会报错,因为“user”和“dept”冲突了,要么把这两个再放到一个共同的根元素里面,要么删除掉一个。

    <?xml version="1.0" ecoding="UTF-8"?>//这个是头文件先不用管
    <root>
     <user>
       <name>laotan</name>
       <gender></gender>
     </user>
    
     <dept>
     </dept>
    </root>

    这样才正确,(我理解的啊,就是开始标签只能有一个,不能有多个,其它的就只能放到开始标签里面了)

    那什么叫做:“空元素必须严格使用空元素语法”?

    还以上面的那段代码为例,“dept”是没有内容的,那有固定的格式:

    <dept/>

    这样写的效果和原来写的那样效果一样。

    还需要强调的是,属性必须要有值!即便没有也要写成

    <name id="a" c="">laotan</name>

    空白字符非常重要,一不小心就会让程序取错位置。

     元素命名

    着重强调:开头不能是数字或者特殊字符;名字中不能出现冒号。

     属性

    强调:推荐使用双引号。且属性不能重复。

    字符数据

    这是什么意思呢?如果你想表达一个“<书名>”这样的式子,系统会报错,因为"<"与"<>"系统分不清楚,故而用其他的实体引用来表述“<”这个符号就可以了。

    <?xml version="1.0" ecoding="UTF-8"?>//这个是头文件先不用管
    <root>
     <user>
       <name>
           laotan &It;书名&gt;
       </name>
       <gender></gender>
     </user>
    
     <dept/>
    </root>

     CDATA标记

    将那些有可能产生混淆的文本,放在CDATA所标记的文本里面,

    <?xml version="1.0" ecoding="UTF-8"?>//这个是头文件先不用管
    <root>
     <user>
       <name>
           laotan
           <![CDATA[
                 <书名>
            ]]>
       </name>
       <gender></gender>
     </user>
    
     <dept/>
    </root>

    声明语句

    记住就行了!

    注释

     感谢:本次学习笔记都是从 http://e-learning.51cto.com/course/2905

    《跟老谭学XML-新手入门基础知识》  

    记述而来  感谢此教程对我学习的帮助!

    相信坚持的力量!
  • 相关阅读:
    ExtJs自学教程(1):从一切API开始
    集成框架 javaweb开发平台ssmy_m(生成代码) java struts2 mybatis spring maven jquery
    hdu2203 KMP水的问题
    Hibernate制图(两)——许多-于─关系映射
    FPGA 异步时钟处理方
    在Magento产品页面的使用jqZoom
    struts2基本介绍
    让你提前知道软件开发(45):第一印象的代码
    struts2 模型分配问题和延迟加载问题
    性能优化(一个)Hibernate 使用缓存(一个、两、查询)提高系统性能
  • 原文地址:https://www.cnblogs.com/duijinglianxinduijingxiuxing/p/7513698.html
Copyright © 2011-2022 走看看