一、XML与HTML的差异

  XML 不是 HTML 的替代;XML 和 HTML 为不同的目的而设计:

  • XML 被设计用来传输和存储数据,其焦点是数据的内容;
  • HTML 被设计用来显示数据,其焦点是数据的外观

  HTML 旨在显示信息,而 XML 旨在传输信息

 二、XML文档形成一种树结构

  XML 文档必须包含根元素;该元素是所有其他元素的父元素;

  XML 文档中的元素形成了一棵文档树。这棵树从根部开始,并扩展到树的最底端;

  所有的元素都可以有子元素:

  <root>

    <child>

    <subchild>.....</subchild>

    </child>

  </root>

 三、语法

  1 XML文档必须有根元素

  2 XML 声明文件的可选部分

  3 所有XML元素必须有一个关闭标签

  4 XML标签对大小写敏感

  5 XML中标签必须正确嵌套

  6 XML属性值必须加引号

  7 实体引用:

&lt; < less than
&gt; > greater than
&amp; & ampersand
&apos; ' apostrophe
&quot; " quotation mark

  8 注释:

  <!-- This is a comment --> 

  9 HTML 会把多个连续的空格字符裁减(合并)为一个 

  10 XML以LF存储换 

  

 四、元素命名规则

 XML 元素必须遵循以下命名规则:
  • 名称可以包含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字母 xml(或者 XML、Xml 等等)开始
  • 名称不能包含空格

  可使用任何名称,没有保留的字词

  XML 元素是可扩展,添加新元素不会导致程序崩溃

 五、命名空间

  5.1 使用前缀来避免命名冲突

  <h:table>
  <h:tr>
  <h:td>Apples</h:td>
  <h:td>Bananas</h:td>
  </h:tr>
  </h:table>

  <f:table>
  <f:name>African Coffee Table</f:name>
  <f:width>80</f:width>
  <f:length>120</f:length>
  </f:table>

  5.2 用于前缀的命名空间必须被定义

  当在 XML 中使用前缀时,一个所谓的用于前缀的命名空间必须被定义;命名空间是在元素的开始标签的 xmlns 属性中定义的;命名空间声明的语法如下。xmlns:前缀="URI"

  <root>

    <h:table xmlns:h="http://www.w3.org/TR/html4/">
    <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
    </h:tr>
    </h:table>

    <f:table xmlns:f="http://www.w3cschool.cc/furniture">
    <f:name>African Coffee Table</f:name>
    <f:width>80</f:width>
    <f:length>120</f:length>
    </f:table>

  </root>

  命名空间,可以在他们被使用的元素中或者在 XML 根元素中声明:

  <root xmlns:h="http://www.w3.org/TR/html4/"
      xmlns:f="http://www.w3cschool.cc/furniture">

    <h:table>
    <h:tr>
    <h:td>Apples</h:td>
    <h:td>Bananas</h:td>
    </h:tr>
    </h:table>

    <f:table>
    <f:name>African Coffee Table</f:name>
    <f:width>80</f:width>
    <f:length>120</f:length>
    </f:table>

  </root>

  注释:命名空间 URI 不会被解析器用于查找信息;其目的是赋予命名空间一个惟一的名称.

 

 

最新文章

  1. jq 根据值的正负变色
  2. distribution 中一直在运行 waitfor delay @strdelaytime 语句
  3. Python 打包工具cx_freeze 问题记录及解决办法
  4. Xamarin.Android中使用ResideMenu实现侧滑菜单
  5. jQuery的选择器中的通配符[id^=&#39;code&#39;]
  6. OutputCache属性详解(二)一 Location
  7. Java学习笔记(3)
  8. hive-0.10.0-cdh4.3.0安装
  9. LCD驱动(FrameBuffer)实例开发讲解
  10. iOS之ASIHttp简单的网络请求实现
  11. 尝试跑一跑Scut
  12. cf B. Inna and Nine
  13. R语言︱SNA-社会关系网络 R语言实现专题(基础篇)(一)
  14. web项目中web.xml简介
  15. HDU 6397 Character Encoding (组合数学 + 容斥)
  16. EF Core中Fluent Api如何删除指定数据表中的行
  17. root密码重置(Centos 7)
  18. 《Head First 设计模式》例子的C++实现(2 观察者模式)
  19. Linux常用基本命令( tree, pwd, cd )
  20. Java8新特性之Lambda表达式

热门文章

  1. css 字体旋转
  2. vue.js中用npm安装vue-router时报错处理办法
  3. Android 基础知识 -- BroadcastReceiver
  4. PHP Files functions
  5. include=FALSE的作用
  6. java面试记录一:跳表、判断二叉树相同、冒泡排序、cookie和session的区别、设计模式(单例、工厂、模板方法、原型、代理、策略)、抽象类与接口的区别
  7. mybatis一级缓存和二级缓存(一)
  8. JS高级---正则表达式练习身份证号码
  9. 【Unity|C#】基础篇(4)——函数参数类型(值参/ref/out/params)
  10. Execl导出系统