美文网首页
网络系列4 XML和JSON

网络系列4 XML和JSON

作者: 莫小归 | 来源:发表于2019-03-06 18:00 被阅读0次

参考
XML:https://www.jianshu.com/p/955e7f4c9da1

一. XML

1.为什么使用XML
  • 在XML出现之前,程序之间使用String通信,不便于描述如下图的关系型结构的数据
关系型结构数据
  • 使用XML能够非常简单地描述上述图片表示的关系
<?xml version="1.0" encoding="UTF-8" ?>
    <中国>
        <北京>
            <海淀></海淀>
            <丰台></丰台>
        </北京>
        <湖南>
            <长沙></长沙>
            <岳阳></岳阳>
        </湖南>
        <湖北>
            <武汉></武汉>
            <荆州></荆州>
        </湖北>
    </中国>
2. XML的用途
  • 配置文件:XML能非常清晰地描述出程序之间的关系
  • 数据传输:XML具有通用性,便于网络数据交互
  • 小型数据库
3. XML的技术架构
  • XML秉承“什么都不做”的设计理念,XML数据或XML文档只用于组织、存储数据,除此之外的数据生成、读取、传输等操作都与XML本身无关
  • 操作XML需要用到XML之外的技术
    1)为XML定规则—— DTD 或 Schema 技术
    2)解析XML—— DOM 或 SAX 技术
    3)提供样式—— XML设计者不仅希望XML能用于存储数据,也能用于显示数据,于是有XSLT(可扩展样式转换语言)
4. XML语法
  • 文档声明
    1)version:版本
    2)encoding:编码
    3)standalone:表示XML是否独立,默认为no,意为可以引用外部DTD规范文档
<?xml version="1.0" encoding="utf-8" standalone="no"?>
  • 元素(标签)
    1)XML元素中的出现的空格和换行都会被当做元素内容进行处理
    2)每个XML文档必须有且只有一个根元素
    3)元素必须闭合
    4)区分大小写
    5)不能交叉嵌套
    6)不能以数字开头
  • 属性
    分为属性名和属性值,是元素的一部分
<!--属性名是name,属性值是china-->
    <中国 name="china">
    </中国>
  • 注释
  • CDATA
    XML解析程序将直接输出CDATA中的内容
    <![CDATA[
        ...内容
    ]]>
  • 转义字符
转义符 符号
< <
> >
& &
" "
&apos '
  • 处理指令
    简称PI(processing instruction),指挥解析引擎如何解析XML文档内容,如以下指令通知XML解析引擎应用1.css文件显示xml文档内容
<?xml-stylesheet type="text/css" href="1.css"?>
5. Java中的XML API
  • 解析XML
    1)dom:DOM解析读取整个XML文档,在内存中形成DOM树,对XML文档的内容进行增删改非常方便,但如果XML文档的内容过大,就会导致内存溢出
    2)SAX:SAX解析采取部分读取的方式,可以处理大型文件,但只能按顺序处理文件,不支持文件的增删改操作
    3)dom4j
  • 映射XML为Java对象
    1)JAXB
  • XML查询
    1)XPATH:取代传统的从根节点开始,逐层查询属性的XML查询方式

相关文章

网友评论

      本文标题:网络系列4 XML和JSON

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