码迷,mamicode.com
首页 > 其他好文 > 详细

XML

时间:2018-06-28 19:24:02      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:双引号   前缀   软件   type   避免   冒号   标记   形式   存储   

一、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??

技术分享图片

 

XML

标签:双引号   前缀   软件   type   避免   冒号   标记   形式   存储   

原文地址:https://www.cnblogs.com/mjbenkyo/p/9240066.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!