XML概述

作者: MCC12138 | 来源:发表于2021-03-08 12:06 被阅读0次

什么是XML

XML是指可扩展标记语言(EXtensible Markup Language),与HTML类似。设计的宗旨是传输数据,它没有规定的标签体,需要自定义标签,可以存储数据和共享数据。

  • HTML用来 显示数据;XML用来传输和存储数据。
  • XML属于文本文件,可用多种文本编辑器编辑。

基本语法

XML基本结构如下:

<?xml version="1.0" encoding="UTF-8"?>
<users>
    <user>
        <name>张三</name>
        <age>20</age>
    </user>
</users>

XML文档,首先要有声明,如上第一行<?xml ?>,其中version指该文档遵循的XML标准版本,encoding用于指明文档使用的字符编码格式。

标记必须闭合

若元素没有文本内容,则采用则采用自闭合的方式关闭节点,例如<weight/>

XML元素命名规则

元素是指成对标签出现的内容,且元素间存在层级关系,比如<name>元素指的是<name>张三</name><user>元素是:

    <user>
        <name>张三</name>
        <age>20</age>
    </user>

其中,<name>元素是<user>元素的子元素 ,<user>元素是<name>元素的父元素 。

  • 命名可包含字母、数字和其他字符
  • 不能包含空格
  • 不能以数字或标点符号开头
  • 不能以XML开头,包含大小写,如:xML
  • 不要使用冒号:,因为XML命名空间需要用到这个字符
  • 大小写敏感

XML属性

元素可以在开始标签中包含属性,类似HTML,属性(Attribute)提供关于元素的额外(附加)信息,它被定义在元素的标签中,且自身有对应的值,例如:

<?xml version="1.0" encoding="UTF-8"?>
<users language="java">
    <user>
        <name>张三</name>
        <age>20</age>
    </user>
</users>
  • 属性的命名规则与元素的一致
  • 属性值同样大小写敏感
  • 属性值必须使用引号,单双都可,若属性值本身包含双引号,可用单引号或实体(&quot)引用它

只有一个根元素

  • 即最外层必须有唯一一个父元素,不可存在多个同级元素

空白被保留

元素内value的空白部分会被当做数据一样完整保留。例如:

<name>张三  ZhangSan</name>

解析出来内容为张三 ZhangSan,空白被保留。

注释写法

<!-- 单行注释 -->
<!--
多行注释
-->

CDATA的使用

CDATA是用于需要原文保留的内容,尤其是在解析XML过程中产生歧义的部分,例如拥有大量需要转义的字符时。其用法如下:

<![CDATA[
    内容
]]>
  • CDATA不能嵌套

常见的XML解析模型

DOM解析

DOM在解析时把整个XML文件映射到Document的树形结构中,XML中的元素、属性、文本都能在Document中看清,但是它消耗内存、查询速度慢。

SAX解析

SAX是基于事件的解析,解析器在读取XML时根据读取的数据产生相应的事件,由应用程序实现相应的事件处理,所以它的解析速度快,内存占用少。但是它需要应用程序自身处理解析器的状态,实现起来比较麻烦,而且它只支持对XML文件的读取,不支持写入。

DOM4j解析(推荐)

DOM4j开源库使用接口和抽象类的方法,并使用了大量的 Collections类,提供一些替代方法以允许更好的性能或更直接的编码方法。不仅可读取,也可写入。下载地址DOM4j

相关文章

  • XML概述

    什么是XML XML是指可扩展标记语言(EXtensible Markup Language),与HTML类似。设...

  • 【Java】【XML】XML概述

    XML概述 XML:eXtensible Markup Language 可扩展标记语言 version="1.0...

  • Scala XML 概述

    本节仅为概述, 稍后会推一篇 Scala-XML 的详细说明 节点 Scala 提供了对 XML 字面量的内建支持...

  • [接口测试 - 基础篇] 05 好讨厌的xml解析

    概述 什么是XML? XML 指可扩展标记语言(eXtensible Markup Language)。XML 被...

  • HTTP系列 -- AJAX 基础

    参考代码 概述 AJAX(Async JavaScript And XML):异步 JavaScript 和XML...

  • JAVA基础-XML的解析(一)

    一、XML的概述 XML的全名为可扩展标记语言(Extensible Markup Language),XML的作...

  • 【Java】XML及解析XML文件的标准

    1. XML概述 XML(Extensible Markup Language):可扩展性标记语言。因为XML的标...

  • 2018-07-22

    xml入门 xml概述 xml的基本概念/应用场景和优势 xml文档规则 命名空间 xpath语言详解 操作xml...

  • XML基本语法

    授课内容 XML语法 XML约束 XML解析【重点】 以应用为主 一 XML基本概述 1. XML简单的历史介绍 ...

  • java基础-day27-XML

    1. XML 1.1 XML概述 1.2 基本语法 1.3 XML文件组成部分 1.4 XML文件数据约束 1.4...

网友评论

      本文标题:XML概述

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