【XML入门精要】从零开始的开发之旅

参考文档:XML 教程 (w3school.com.cn)

简介

XML,全称eXtensible Markup Language,即“可扩展标记语言”,是一种用于存储和传输数据的标准格式。它由万维网联盟(W3C)开发,目的是克服HTML(HyperText Markup Language)在表示数据结构和语义上的局限性,提供一种更灵活、更强大的数据描述方式。

为什么需要XML

  1. 两个程序间进行数据通信
  2. 给一台服务器,做一个配置文件,当服务器程序启动时,去读取它应当监听的端 口号、还有连接数据库的用户名和密码
  3. spring 中的 ico 配置文件,beans.xml mybatis XXXMapper.xml tomcat server.xml web.xml mavenpom.xml
  4. 能存储复杂的数据关系

XML技术用于解决什么问题

  • 解决程序间数据传输的问题:=>json

    • 比如qq之间的数据传送,用xml格式来传送数据,具有良好的可读性,可维护性。
  • xml可以做配置文件

    • xml文件做配置文件可以说非常的普遍,比如我们的tomcat服务器的server.xml,web.xml
  • xml可以充当小型的数据库=>程序自己的数据格式存放

    • xml文件做小型数据库,也是不错的选择,我们程序中可能用到的数据,如果放在数据库 中读取不合适(因为你要增加维护数据库工作),可以考虑直接用xm来做小型数据库,而且 直接读取文件显然要比读取数据库快

XML语法

  1. 文档组成

    1. 文档声明

      1. <?xml version="1.0" encoding="utf-8"?>
    2. 元素

      1. 每个XML文档必须有且只有一个根元素。 

      2. 根元素是一个完全包括文档中其他所有元素的元素。 

      3. 根元素的起始标记要放在所有其他元素的起始标记之前。 

      4. 根元素的结束标记要放在所有其他元素的结束标记之后。

      5. 代码示例:

        <?xml version="1.0" encoding="utf-8" ?>
        <!--
        解读
        1. 每个XML文档必须有且只有一个根元素。
        2. 根元素是一个完全包括文档中其他所有元素的元素。
        3. 根元素的起始标记要放在所有其他元素的起始标记之前。
        4. 根元素的结束标记要放在所有其他元素的结束标记之后。
        5. XML 元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一
        包含标签体:<a>www.sohu.com</a>
        不含标签体的:<a></a>, 简写为:<a/>
        6. 一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许
        交叉嵌套。
        7. 叫法student 元素,节点,标签 -->
        <students><student id="100"><name>jack</name><age>10</age><gender></gender></student><student id="200"><name>mary</name><age>18</age><gender></gender></student><school>清华大学</school><city/>
        </students>
        
    3. 属性

      1. 属性介绍

        1. <StudentID=“100”>
          TOM
      2. 属性值用双引号(“)或单引号(‘)分隔(如果属性值中有’,用"分隔;有”,用’分隔)

      3. 一个元素可以有多个属性,它的基本格式为:<元素名属性名=“属性值”>

      4. 特定的属性名称在同一个元素标记中只能出现一次

      5. .属性值不能包括&字符

      6. 代码示例:

        <?xml version="1.0" encoding="utf-8" ?>
        <!--
        解读
        1. 属性值用双引号(")或单引号(')分隔(如果属性值中有',用"分隔;有",
        用'分隔)。
        2. 一个元素可以有多个属性,它的基本格式为:<元素名 属性名="属性值">3. 特定的属性名称在同一个元素标记中只能出现一次。
        4. 属性值不能包括&字符。-->
        <students><!--举例:id='01' 也是正确写法如果属性值有" 则使用' 包括属性 比如 id="xxx'yyy"如果属性值有' 则使用" 包括属性 比如 id='xxx"yyy'属性名在同一个元素标记只能出现一次 <student id="01" id="03"> 是错误的属性值不能包括&字符比如:<student id="0&1"> 是错误的--><student id="100"><name>jack</name><age>10</age><gender></gender></student><student id="200"><name>mary</name><age>18</age><gender></gender></student>
        </students>
        
    4. 注释

      1. 注释内容中不要出现–
      2. 不要把注释放在标记中间;错误写法<Name >TOM
    5. CDATA区

      1. 含义

        1. 有些内容不想让解析引擎执行,而是当作原始内容处理(即当做普通文本),可 以使用CDATA包括起来,CDATA节中的所有字符都会被当作简单文本,而不是XML标记。
      2. 语法

        1. <![CDATA[ 这里可以把你输入的字符原样显示,不会解析 xml ]]>

转义字符

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/49864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络流】——初识(最大流)

网络流-最大流 基础信息引入一些概念基本性质 最大流定义 Ford–Fulkerson 增广Edmons−Karp算法Dinic 算法参考文献 基础信息 引入 假定现在有一个无限放水的自来水厂和一个无限收水的小区&#xff0c;他们之间有多条水管和一些节点构成。 每一条水管有三个属性&#xff1a…

如何查看cpu架构,查看CPU架构的方法

查看CPU架构的方法有很多&#xff0c;具体取决于你使用的操作系统。以下是一些常见的操作系统中查看CPU架构的方法&#xff1a; Windows查看CPU架构的方法 使用系统信息工具 按 Win R 打开运行窗口。输入 msinfo32 并按 Enter。在系统信息窗口中&#xff0c;找到“处理器”一…

帆软报表学习官网 中文

帆软报表学习官网&#xff1a;快速入门指南- FineReport帮助文档 - 全面的报表使用教程和学习资料

懂个锤子Vue 项目工程化进阶⏫:

Vue项目工程化进阶⏫&#xff1a; 前言&#xff1a; 紧跟前文&#xff0c;目标学习Vue2.0——3.0&#xff1a; 懂个锤子Vue、WebPack5.0、WebPack高级进阶 涉及的技术栈… 当然既然学习框架的了&#xff0c;HTMLCSSJS三件套必须的就不说了&#xff1a; JavaScript 快速入门 …

Java中的异步非阻塞I/O操作

Java中的异步非阻塞I/O操作 大家好&#xff0c;我是微赚淘客系统3.0的小编&#xff0c;是个冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来探讨一下Java中的异步非阻塞I/O操作。 一、异步非阻塞I/O简介 异步非阻塞I/O&#xff08;Asynchronous Non-Bl…

7-25学习笔记

一、锁对象 Lock接口 1、创建锁对象 ReentrantLock类 Lock locknew ReentrantLock(true); 默认创建的是非公平锁 在创建锁对象时传入一个true参数 便会创建公平锁 先来后到 是重入锁 排他锁 加锁后不允许其它线程进入 2、加锁、解锁 &#xff08;1&#xff09;loc…

OWASP ZAP:一款功能强大的开源Web安全扫描工具

目录 介绍 安装和配置 下载和安装 启动和配置 主界面概述 基本功能 自动扫描 手动测试 被动扫描 主动扫描 高级功能 代理功能 Fuzzer API 插件和扩展 使用场景 开发阶段 测试阶段 生产环境 实践案例 案例一&#xff1a;自动化扫描 案例二&#xff1a;手动…

Redis-数据的极速之旅(一)

Redis基础篇 Redis的自我介绍我的核心数据结构1.字符串&#xff08;String&#xff09;2.哈希&#xff08;Hash&#xff09;3.列表&#xff08;List&#xff09;4.集合&#xff08;Set&#xff09;5.有序集合&#xff08;Sorted Set&#xff09; 高性能原理1.Redis为什么快&…

B端系统UI个性化设计:感受定制之美

B端系统UI个性化设计&#xff1a;感受定制之美 引言 艾斯视觉作为ui设计和前端开发从业者&#xff0c;其观点始终认为&#xff1a;在当今竞争激烈的商业环境中&#xff0c;B端&#xff08;Business-to-Business&#xff09;系统的设计不再仅仅是功能性的堆砌&#xff0c;而是…

在线工具(网站)

1. 网站漏洞扫描程序 网站漏洞扫描程序是一种高度准确的漏洞扫描解决方案&#xff0c;经过了实际渗透测试的考验。快速检测 XSS、SQL 注入、命令注入、XXE 和其他关键问题 — 自动验证以消除误报。 https://pentest-tools.com/website-vulnerability-scanning/website-scanne…

ChatGPT建议前端学习计划

HTML&CSS基础 - 学习HTML标签、CSS属性、页面布局等基础知识 JavaScript基础 - 学习变量、数据类型、控制流、函数等基础知识 jQuery - 学习如何使用jQuery处理文档对象模型&#xff08;DOM&#xff09;、事件、动画等 Ajax - 全称为 Asynchronous JavaScript and XML&…

【sklearn实战】datasets数据集简介

一 sklearn.datasets数据集 sklearn.datasets 中主要包含了4类数据集。 1.1 Toy datasets&#xff08;玩具数据集&#xff09; scikit-learn 内置的一些小型标准数据集&#xff0c;不需要从某个外部网站下载任何文件&#xff0c;用datasets.load_xx()加载。比如&#xff1a;…

AJAX(1)

什么是AJAX? AJAX是异步的JavaScript和XML。简单来说&#xff0c;就是使用XMLHttpRequest对象与服务器通信。它可以使用JSON,XML,HTML和text文本等格式发送和接收数据。AJAX最吸引人的就是它异步的特性&#xff0c;也就是说它可以在不重新刷新页面的情况下与服务器通信&#…

打包团队,招机器视觉工程师整个团队,缺陷检测经验更佳,BOSS半导体大厂背景,不愁订单,现精耕于半导体,PCB,PCBA视觉检测

打包团队&#xff0c;招机器视觉工程师整个团队&#xff0c;缺陷检测经验更佳&#xff0c;BOSS半导体大厂背景&#xff0c;不愁订单&#xff0c;现精耕于半导体&#xff0c;PCB&#xff0c;PCBA视觉检测 视觉人机器视觉 视觉人机器视觉教学 2024年07月28日 00:21 江苏 苏州大视…

C#:通用方法总结—第6集

大家好&#xff0c;今天继续介绍我们的通用方法系列。 下面是今天要介绍的通用方法&#xff1a; &#xff08;1&#xff09;这个通用方法为SW查找草图数量 /// <summary> /// 查找草图数量 /// </summary> /// <param name"doc2"></param>…

书生大模型实战营--L1关卡-OpenCompass 评测 InternLM-1.8B 实践

一、使用 OpenCompass 评测 internlm2-chat-1.8b 模型在 MMLU 数据集上的性能 1、使用lmdeploy部署 internlm2-chat-1.8b模型 2、根据OpenCompass官网教程安装并下载数据集 opencompass/README_zh-CN.md at main open-compass/opencompass GitHub 注意&#xff1a; pyhton…

JAVAWeb实战(前端篇)

项目实战一 0.项目结构 1.创建vue3项目&#xff0c;并导入所需的依赖 npm install vue-router npm install axios npm install pinia npm install vue 2.定义路由&#xff0c;axios&#xff0c;pinia相关的对象 文件&#xff08;.js&#xff09; 2.1路由(.js) import {cre…

当全球银行系统“崩溃”时会发生什么?

有句名言&#xff1a;“当美国打喷嚏时&#xff0c;世界就会感冒……”换句话说&#xff0c;当人们对美国及其经济稳定性的信心下降时&#xff0c;其他经济体&#xff08;以及黄金、白银和股票等资产&#xff09;的价值往往会下降。 与任何其他资产类别一样&#xff0c;加密货…

超详细-数据结构-二叉树概念及结构,堆的概念及结构以及堆的代码的c语言实现

本篇博客将详细讲述二叉树的概念&#xff0c;堆的概念及结构以及堆的代码实现&#xff0c;以及二叉树&#xff0c;堆的相关应用。Top K 问题&#xff0c;堆排序的实现以及二叉树链式结构的实现将在之后的博客更新。你可在目录中找到你想重点阅读的内容。堆的完整代码实现在文章…

如何撤销/回滚远程修改

1. git revert 通过git revert commit_id&#xff0c;撤销指定commit&#xff0c;然后push到远程分支&#xff0c;即可撤销指定commit的修改&#xff0c;并新增一个revert的提交记录。 2. 撤销HEAD的修改并删除提交记录 git reset --hard HEAD^ # 撤销最近一次的修改 git pu…