zoukankan      html  css  js  c++  java
  • XML

    eXtensive Makeup Language(可扩展标记性语言)是一种用于标记电子文件使其具有结构性的标记语言。可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

    XML 应用于 web 开发的许多方面,常用于简化数据的存储和共享。

    把数据从 HTML 分离

    如果你需要在 HTML 文档中显示动态数据,那么每当数据改变时将花费大量的时间来编辑 HTML。

    通过 XML,数据能够存储在独立的 XML 文件中。这样你就可以专注于使用 HTML 进行布局和显示,并确保修改底层数据不再需要对 HTML 进行任何的改变。

    通过使用几行 JavaScript,你就可以读取一个外部 XML 文件,然后更新 HTML 中的数据内容。

    简化数据共享

    在真实的世界中,计算机系统和数据使用不兼容的格式来存储数据。

    XML 数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法。

    这让创建不同应用程序可以共享的数据变得更加容易。

    简化数据传输

    通过 XML,可以在不兼容的系统之间轻松地交换数据。

    对开发人员来说,其中一项最费时的挑战一直是在因特网上的不兼容系统之间交换数据。

    由于可以通过各种不兼容的应用程序来读取数据,以 XML 交换数据降低了这种复杂性。

    简化平台的变更

    升级到新的系统(硬件或软件平台),总是非常费时的。必须转换大量的数据,不兼容的数据经常会丢失。

    XML 数据以文本格式存储。这使得 XML 在不损失数据的情况下,更容易扩展或升级到新的操作系统、新应用程序或新的浏览器。

    使数据更有用

    由于 XML 独立于硬件、软件以及应用程序,XML 使您的数据更可用,也更有用。

    不同的应用程序都能够访问您的数据,不仅仅在 HTML 页中,也可以从 XML 数据源中进行访问。

    通过 XML,您的数据可供各种阅读设备使用(手持的计算机、语音设备、新闻阅读器等),还可以供盲人或其他残障人士使用。

    可以创建新的语言

    很多新的 Internet 语言是通过 XML 创建的:

    • XHTML - 最新的 HTML 版本
    • WSDL - 用于描述可用的 web service
    • WAP 和 WML - 用于手持设备的标记语言
    • RSS - 用于 RSS feed 的语言
    • RDF 和 OWL - 用于描述资源和本体
    • SMIL - 用于描述针针对 web 的多媒体                   

    通俗来说:比如我们要给对方传输一段数据,数据内容是“too young,too simple,sometimes naive”,要将这段话按照属性拆分为三个数据的话,就是,年龄too young,阅历too simple,结果sometimes naive。我们都知道程序不像人,可以体会字面意思,并自动拆分出数据,因此,我们需要帮助程序做拆分,因此出现了各种各样的数据格式以及拆分方式。比如,可以是这样的数据为“too young,too simple,sometimes naive”然后按照逗号拆分,第一部分为年龄,第二部分为阅历,第三部分为结果。也可以是这样的数据为“too_young**too_simple*sometimes_naive”从数据开头开始截取前面十一个字符,去掉*号并把下划线替换为空格作为第一部分,再截取接下来的十一个字符同样去掉*并替换下划线为空格作为第二部分,最后把剩下的字符同样去*号体会空格作为第三部分。这两种方式都可以用来容纳数据并能够被解析,但是不直观,通用性也不好,而且如果出现超过限定字数的字符串就容纳不了,也可能出现数据本身就下划线字符导致需要做转义。基于这种情况,出现了xml这种数据格式, 上面的数据用XML表示的话可以是这样

    • <person age="too young" experience="too simple" result="sometimes naive" />
      

      也可以是这样
      <person>
          <age value="too young" />
          <experience value="too simple" />
          <result value="sometimes naive" />
      </person>
      

      两种方式都是xml,都很直观,附带了对数据的说明,并且具备通用的格式规范可以让程序做解析。

      如果用json格式来表示的话,就是下面这样
      {
          "age":"too young",
          "experience":"too simple",
          "result":"sometimes naive"
      }
      
      看出来没,其实数据都是一样的,不同的只是数据的格式而已,同样的数据,我用xml格式传给你,你用xml格式解析出三个数据,用json格式传给你,你就用json格式解析出三个数据,还可以我本地保存的是xml格式的数据,我自己先解析出三个数据,然后构造成json格式传给你,你解析json格式,获得三个数据,再自己构造成xml格式保存起来,说白了,不管是xml还是json,都只是包装数据的不同格式而已,重要的是其中含有的数据,而不是包装的格式。但是未来在大项目上还是JSON的应用范围更广,毕竟对每个数据都进行说明的话,确实太麻烦。
  • 相关阅读:
    Ms SQL 2K SP4 is avaialable!
    TSQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响!
    编程将 .Net Assembly 里的类注册成 COM 类
    一个 TreeView 的派生类: TreeViewEx 实现 NodeShowToolTip、NodeDoubleClick 事件
    也谈 尉迟方 遇到的面试题! 参阅"装配脑袋" 实现"就地正法 in place"! 考察的是"栈"的思想!
    这几句 SQL 比较长! 没啥实用价值,但也要费费脑子! 权当习题: 《TSQL 生成公历年历》,仅供收藏!
    妙用 TSQL: PARSENAME 函数 (也可不使用该函数,鸣谢"小杰") 实现按指定分隔符拆分字符串 SplitString
    使数据库大字段的 Server Side ASP.Net Web/Http 下载,支持 FlashGet (Client) 断点续传多线程下载
    ArcGIS 的 http://localhost:8399/arcgis/rest/services 无法打开,显示404 的解决办法
    svn工作拷贝之降级
  • 原文地址:https://www.cnblogs.com/xzc1017964340/p/8604627.html
Copyright © 2011-2022 走看看