【颗粒归仓】XML小结

2023-10-28 18:59
文章标签 xml 小结 颗粒归仓

本文主要是介绍【颗粒归仓】XML小结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

      • 简介
      • XML与HTML的主要差异
      • XML语法
          • XML文档声明
          • element元素
          • 属性
          • 注释
          • 转义字符
          • CDATA区
      • 约束
          • DTD
          • Schema
            • XML Schema的优点:

简介

XML全称Extensible Markup Language,意思是可扩展的标记语言。XML语法上和HTML很相似,但HTML中的元素是固定的,二XML的标签是可以由用户自定义的。XML的宗旨是传输数据,并非显示数据。

XML与HTML的主要差异

  1. XML不是HTML的替代,是对HTML的补充。大多数web应用程序中,XML用于传输数据,而HTML用于格式化并且显示数据。
  2. XML和HTML为不同的目的而设计。XML被设计为传输和存储数据,其焦点是数据的内容。HTML被设计用来显示数据,其焦点是数据的外观。

XML语法

在这里插入图片描述

XML文档声明

<?xml version="1.0" encoding="UTF-8"?>

  1. 文档声明必须为<?xml开头,以?>结束;
  2. 文档声明必须从文档的0行0列位置开始;
  3. 文档声明只有三个属性:
    a)version:指定XML文档版本。必须属性,为1.0。
    b)encoding:指定当前文档的编码。可选属性,默认值为utf-8;
element元素

<element>

  1. 元素是XML文档中最重要的组成部分;
  2. 普通元素的结构由开始标签、元素体、结束标签组成,(“<hello>早上好</hello>”);
  3. 元素体:可以是元素,也可以是文本(“<b><a>早上好</a></b>”);
  4. 空元素:空元素只有开始标签,而没有结束标签,但元素必须自己闭合,(<c/>);
  5. 元素命名:
    a)区分大小写
    b)不使用空格,不使用冒号:
    c)不建议以XML、xml、Xml开头
  6. 格式化良好的XML文档,必须只有一个根元素;
属性

<web-app version="3.0">

  1. 属性是元素的一部分,它必须出现在元素的开始标签中;
  2. 属性的定义格式:属性名=属性值,其中属性值必须使用单引或双引;
  3. 一个元素可以有0~N个属性,但一个元素中不能出现同名属性;
  4. 属性名不能使用空格、冒号等特殊字符,且必须以字母开头
注释
  1. 以“<!–”开始,以“–>”结束。
转义字符

XML中,一些字符拥有特殊的意义,因为已经被XML文档结构所使用,所以在元素体或属性值中使用这些符号就必须使用转义字符,例如:“<”,“>”,“"”,“'”,“&”。
在这里插入图片描述

CDATA区

<![CDATA[任意内容]]>
当大量的转义字符出现在xml文档中时,会使xml文档的可读性大幅度降低,这是如果使用CDATA段会好一些。在CDATA段中出现的“<”,“>”,“"”,“'”,“&”都无需使用转义符。这可以提高xml文档的可读性。

约束

DTD

DTD(Document Type Definition)即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属于XML文件组成的一部分。
DTD是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文档来看文档是否符合规范,元素和标签是否正确。
一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。
DTD与XSD相比:

  1. DTD是使用非XML语法编写的。
  2. DTD不可扩展,不支持命名空间,只提供非常有限的数据类型。
Schema

XML Schema 语言也就是XSD(XML Schema Definition)。描述了XML文档的结构。
可以用一个指定的XML Schema来验证某个XML文档,以检查改XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可根据此检查一个XML文档是否有效。XML Schema本身是一个XML文档,它符合XML语法结构,可以用通用的XML解析器解析它。
一个XML Schema会定义:文档中出现的元素,文档中出现的属性,子元素,子元素的数量,子元素的顺序,元素是否为空,元素和属性的数据类型,元素或属性的默认和固定值。

XML Schema的优点:
  1. 基于XML,没有专门的语法;
  2. 可以像其他XML一样解析和处理;
  3. 比DTD提供了更丰富的数据类型;
  4. 提供可扩充的数据模型;
  5. 支持综合命名空间;
  6. 支持属性组

这篇关于【颗粒归仓】XML小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/295280

相关文章

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

flask库中sessions.py的使用小结

《flask库中sessions.py的使用小结》在Flask中Session是一种用于在不同请求之间存储用户数据的机制,Session默认是基于客户端Cookie的,但数据会经过加密签名,防止篡改,... 目录1. Flask Session 的基本使用(1) 启用 Session(2) 存储和读取 Se

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

Redis中Stream详解及应用小结

《Redis中Stream详解及应用小结》RedisStreams是Redis5.0引入的新功能,提供了一种类似于传统消息队列的机制,但具有更高的灵活性和可扩展性,本文给大家介绍Redis中Strea... 目录1. Redis Stream 概述2. Redis Stream 的基本操作2.1. XADD

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

C#中Guid类使用小结

《C#中Guid类使用小结》本文主要介绍了C#中Guid类用于生成和操作128位的唯一标识符,用于数据库主键及分布式系统,支持通过NewGuid、Parse等方法生成,感兴趣的可以了解一下... 目录前言一、什么是 Guid二、生成 Guid1. 使用 Guid.NewGuid() 方法2. 从字符串创建