zoukankan      html  css  js  c++  java
  • XML

    一、XML是什么

    1. XML 指可扩展标记语言(EXtensible Markup Language)。
    2. XML 的设计宗旨是传输数据,而非显示数据。其焦点是数据的内容。

      XML 是不作为的。XML 不会做任何事情。XML 被设计用来结构化、存储以及传输信息。它仅仅是纯文本而已。

    3. XML 标签需要自行定义

       通过 XML 您可以发明自己的标签,因为 XML 没有预定义的标签。XML 允许创作者定义自己的标签和自己的文档结构。

    4.XML 文档形成一种树结构,它从“根部”开始,然后扩展到“枝叶”。

    XML 声明,根元素,子元素,兄弟元素。所有元素均可拥有文本内容和属性。

    XML 与 HTML 的主要差异:

    XML 不是 HTML 的替代。XML 是对 HTML 的补充。

    XML 和 HTML 为不同的目的而设计:

    XML 被设计为传输和存储数据,其焦点是数据的内容

    HTML 被设计用来显示数据,其焦点是数据的外观

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

     

    XML组成:

      声明;

      元素。XML 元素可以在开始标签中包含属性,属性提供有关元素的额外信息。

    XML 语法规则

    1. 必须有关闭标签;注意:声明不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签。
    2. XML 标签对大小写敏感;
    3. XML 必须正确地嵌套;
    4. 必须有一个元素是所有其他元素的父元素。该元素称为根元素;
    5. XML 的属性值须加引号,如果属性值本身包含双引号,那么有必要使用单引号包围它,或者可以使用实体引用。 

      避免 XML 属性,因使用属性而引起的一些问题:

      • 属性无法包含多重的值(元素可以)
      • 属性无法描述树结构(元素可以)
      • 属性不易扩展(为未来的变化)
      • 属性难以阅读和维护

                    请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。

              6.实体引用;

      

              7.XML 中的注释:

      

              8.空格会被保留,HTML 会把多个连续的空格字符裁减(合并)为一个;

              8.XML 元素命名规则:

    • 名称可以含字母、数字以及其他的字符
    • 名称不能以数字或者标点符号开始
    • 名称不能以字符 “xml”(或者 XML、Xml)开始
    • 名称不能包含空格

    最佳命名习惯:

    使名称具有描述性。使用下划线的名称也很不错。

    名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book>。

    避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词。

    避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。

    避免 ":" 字符。冒号会被转换为命名空间来使用(稍后介绍)。

    XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名 XML 文档中的元素。

    XML 验证

    拥有正确语法的 XML 被称为“形式良好”的 XML。

    通过 DTD 验证的 XML 是“合法”的 XML。

    验证 XML 文档:

    DTD 的作用是定义 XML 文档的结构。

    W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema

    XML 文档中的错误会终止你的 XML 程序。

     XML 命名空间

    ---提供避免元素命名冲突的方法。

    命名冲突:在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。

    ------使用前缀来避免命名冲突:

            

    ------使用命名空间(Namespaces):前缀与ns结合使用,为前缀赋予了一个与某个命名空间相关联的限定名称。命名空间属性被放置于元素的开始标签之中,所有带有相同前缀的子元素都会与同一个命名空间相关联。

      

      

    -----默认的命名空间(Default Namespaces):可以省去在所有的子元素中使用前缀的工作。

      

    二、XML的解析

    ??为什么多个xmlns??

  • 相关阅读:
    【老生常谈】Attr与Prop的区别
    【NodeJs】入门笔记一
    absolute的left和right的妙用
    文本框选中文字却不出现蓝色选中状态
    Ajax
    Canvas 与 SVG 的区别
    如何学好英语
    xCode6中SizeClass的使用
    CocoaPods安装和使用教程
    Unity3D教程宝典之Shader篇:特别讲 CG函数
  • 原文地址:https://www.cnblogs.com/mjbenkyo/p/9240066.html
Copyright © 2011-2022 走看看