美文网首页
XML、JSON与YAML简介

XML、JSON与YAML简介

作者: 3D打印老A | 来源:发表于2017-06-20 03:03 被阅读0次

信息标记的三种形式

信息的标记

信息在传递的过程中都需要加以标记,可通过标签的方式,比如HTML,也可以通过键值对的方式name:kang,kang这个信息被标记为name,一组带有标记的信息存储起来就成了文档。
信息标记后有很多好处:

  • 形成信息组织结构,增加信息维度
  • 标记的结构形成了另一组信息
  • 便于通信、存储和显示
  • 可读性增强,利于程序理解和运用

比如,HTML是超文本信息集(文本,声音,图像,视频),是WWW的信息组织方式。HTML以标签的方式标记信息。

<div class="input-prepend search">
    <form class="form-search" action="//www.thingiverse.com/search">
        <input type="text" class="span2 search-query" name="q" placeholder="Enter a search term"/>
        <button type="submit" name="sa" class="icon"><i class="icon-search"></i></button>
    </form>
</div>

信息标记的种类

信息标记的形式有以下三种,XML,JSON,YAML。

  • XML(eXtensible Markup Language)扩展标记语言
利用标签进行标记语言,标签内有属性
<img src = "china.jpg" size="10">this is a picture</img>
空元素可简化表示未
<img src = "china.jpg" size="10" />
注释表示为

<!-- this is a comment -->

一个XML文档内容如下:

<!--    this is xml file    -->
<!--   Copyright w3school.com.cn  -->
<note>
    <to>George</to>
    <from>John</from>
    <heading>Reminder</heading>
    <body>Don't forget the meeting!</body>
</note>
  • JSON(JavaScript Object Notation) Javascript对象表示
"name":"kang"                       #通过键值对标记语言
"age" :21
"name":["kang","guo"]               #一个键可以对应多个值,用列表组织
"name":{"first":"w","last":"kang"}  #使用{}进行嵌套

JSON对象的好处是可以直接作为JavaScript对象进行使用,需要注意的是,JSON文件是不允许加注释的,否则会解析错误。一个JSON文件内容如下:

{
"employees": [
        { "firstName":"Bill" , "lastName":"Gates" },
        { "firstName":"George" , "lastName":"Bush" },
        { "firstName":"Thomas" , "lastName":"Carter" }
    ]
}
  • YAML(YAML Ain't Markup Language)
name:kang               #无类型键值对
name:                   #表示多个值
    -kang   
    -guo        
name:
    first:w
    last :kang          #使用缩进表示嵌套
    
text:|                  #表示整块数据                                     
hello world, this YAML,YAML Ain't Markup Lauguage

一个YAML文件内容如下:

#this is a ymal file
invoice: 34843
date   : 2001-01-23
bill-to: &id001
    given  : Chris
    family : Dumars
    address:
        lines: |
            458 Walkman Dr.
            Suite #292
        city    : Royal Oak
        state   : MI
        postal  : 48046
ship-to: *id001
product:
    - sku         : BL394D
      quantity    : 4
      description : Basketball
      price       : 450.00
    - sku         : BL4438H
      quantity    : 1
      description : Super Hoop
      price       : 2392.00
tax  : 251.42
total: 4443.52
comments:
    Late afternoon is best.
    Backup contact is Nancy
    Billsmer @ 338-4338.

三种标记形式的对比

XML JSON YMAL
最早的通用信息标记语言,可扩展性好,但繁琐 信息有类型,适合程序处理,较简洁 信息无类型,文本信息比例最高,可读性好
Internet上信息交互与传递 移动应用云端和节点的信息通信,不能加注释 各类系统的配置文件

以上三种文件的信息提取都需要解析器,比如通过bs4库的标签树进行遍历,但速度较慢。也可以直接进行搜索,找到相关的信息。可借助正则表达式(re)来实现,bs4库和re库结合使用。

相关文章

  • XML、JSON与YAML简介

    信息标记的三种形式 信息的标记 信息在传递的过程中都需要加以标记,可通过标签的方式,比如HTML,也可以通过键值对...

  • YAML 入门指南

    YAML 入门指南 YAML 简介 我们使用 YAML 是因为它像 XML 或 JSON 是一种利于人们读写的数据...

  • yaml>json>xml

    yaml比json和xml好https://blog.csdn.net/vincent_hbl/article/d...

  • Ansible基础使用

    零、相关准备 0.1 YAML语法 YAML类似XML或JSON,易于读写 对于Ansible,每一个YAML文件...

  • python 信息标记与提取方法

    @[toc]信息标记的三种形式:XML、JSON、YAML XML eXtensible Markup Langu...

  • 比较一下XML, JSON和YAML

    比较一下XML, JSON和YAML 大家好,这一期呢,我们来比较一下XML, JSON和YAML这三种数据格式文...

  • XML、JSON 和 YAML

    数据序列化 数据序列化是将复杂数据结构中存在的数据对象转换为字节流以在物理设备上进行存储、传输和分发的过程。计算机...

  • Spring Boot配置文件

    1.YAML2.properties 1.YAML YAML:以数据为中心,比json、xml等更适合做配置文件 ...

  • .yml文件语法

    YAML简介 YAML 试图用一种比 XML 更敏捷的方式,来完成 XML 所完成的任务。YAML Ain't M...

  • Perl 模块 Config::Any

    简介 可透明地从各种不同类型的文件中加载配置信息;如:JSON,XML,YAML,INI等 Config::Any...

网友评论

      本文标题:XML、JSON与YAML简介

      本文链接:https://www.haomeiwen.com/subject/vpxoqxtx.html