• XML【介绍、用途、了解XML技术架构、语法】


    什么是XML?

    XML:extensiable markup language 被称作可扩展标记语言

    XML简单的历史介绍:

    • gml->sgml->html->xml
    • gml(通用标记语言)–在不同的机器进行通信的数据规范
    • sgml(标准通用标记语言)
    • html(超文本标记语言)

    为什么我们需要使用XML呢?

    • ①我们没有XML这种语言之前,我们使用的是String作为两个程序之间的通讯!现在问题就来了,如果我们传输的是带有关系型结构的数据,String怎么表达呢?String对关系型数据不擅长,要是描述起来也难免会有歧义的时候!关系型数据如图下所示:

    • HTML语言本身就有缺陷
      • 标记都是固定的,不能自定义。HTML语言中有什么标记就只能用什么标记
      • HTML标签本身就缺少含义(tr标签里面什么内容都能放进去,不规范!)
      • HTML没有实现真正的国际化

    XML文件就解决了以上的问题了,如果使用XML描述上述图片的关系,是非常简单的!

    
        <?xml version="1.0" encoding="UTF-8" ?>
        <中国>
            <北京>
                <海淀></海淀>
                <丰台></丰台>
            </北京>
            <湖南>
                <长沙></长沙>
                <岳阳></岳阳>
            </湖南>
            <湖北>
                <武汉></武汉>
                <荆州></荆州>
            </湖北>
        </中国>
    
    

    XML文件还能使用浏览器打开:

    我们可以发现XML是可以描述很复杂的数据关系的


    XML的用途

    ①:配置文件(例子:Tomcat的web.xml,server.xml……),XML能够非常清晰描述出程序之间的关系

    ②:程序间数据的传输,XML的格式是通用的,能够减少交换数据时的复杂性!

    ③:充当小型数据库,如果我们的数据有时候需要人工配置的,那么XML充当小型的数据库是个不错的选择,程序直接读取XML文件显然要比读取数据库要快呢!


    XML的技术架构

    XML被设计为“什么都不做”,XML数据或XML文档只用于组织、存储数据,除此之外的数据生成、读取、传送、存取等等操作都与XML本身无关!

    于是乎,想要操作XML,就需要用到XML之外的技术了

    • 为XML定规则:现在一般使用DTD或Schema技术,当然了Schema技术更为先进!
    • 解析XML的数据:一般使用DOM或者SAX技术,各有各的优点
    • 提供样式:XML一般用来存储数据的,但设计者野心很大,也想用来显示数据(但没人用XML来显示数据),就有了XSLT(eXtensiable Stylesheet Language Transformation)可扩展样式转换语言

    XML语法:

    文档声明:

    • XML声明放在XML的第一行
    • version—-版本
    • encoding–编码
    • standalone–独立使用–默认是no。standalone表示该xml是不是独立的,如果是yes,则表示这个XML文档时独立的,不能引用外部的DTD规范文件;如果是no,则该XML文档不是独立的,表示可以引用外部的DTD规范文档。

    • 正确的文档声明格式,属性的位置不能改变!

    
        <?xml version="1.0" encoding="utf-8" standalone="no"?>
    

    元素

    首先在这里说明一个概念:在XML中元素和标签指的是同一个东西!不要被不同的名称所迷惑了!

    元素中需要值得注意的地方

    • XML元素中的出现的空格和换行都会被当做元素内容进行处理
    • 每个XML文档必须有且只有一个根元素
    • 元素必须闭合
    • 大小写敏感
    • 不能交叉嵌套
    • 不能以数字开头

    看起来好像有很多需要值得注意的地方,其实只需要记住:XML的语法是规范的!不要随意乱写!


    属性

    属性是作为XML元素中的一部分的,命名规范也是和XML元素一样的!

    
        <!--属性名是name,属性值是china-->
        <中国 name="china">
    
        </中国>
    
    

    注释

    注释和HTML的注释是一样的

    
        <!---->
    

    CDATA

    在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出

    语法:

    
        <![CDATA[
            ...内容
        ]]>
    

    转义字符

    对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。

    处理指令

    处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。

    例如:

    在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。

        <?xml-stylesheet type="text/css" href="1.css"?>
    
    • XML代码:
    
    
    
        <?xml version="1.0" encoding="UTF-8" ?>
        <?xml-stylesheet type="text/css" href="1.css"?>
    
        <china>
            <guangzhou>
                广州
            </guangzhou>
            <shenzhen>
                深圳
            </shenzhen>
        </china>
    
    
    • CSS代码:
    
    
        guangzhou{
            font-size: 40px;
        }
    
    • 效果:


    JDK中的XML API

    ①:JAXP(The Java API For XML Processing):主要负责解析XML

    ②:JAXB(Java Architecture for XML Binding):主要负责将XML映射为Java对象

    如果您觉得这篇文章帮助到了您,可以给作者一点鼓励



  • 相关阅读:
    科学计算器
    ASCII码表
    面试题(2)
    面试题(1)
    ACM/ICPC竞赛
    ACM/ICPC竞赛
    ACM-ICPC竞赛模板
    杭电题目分类(1)
    ACM/ICPC竞赛
    ACM/ICPC竞赛
  • 原文地址:https://www.cnblogs.com/zhong-fucheng/p/7203043.html
Copyright © 2020-2023  润新知