XML的基础(概念和语法)

xml html 概念 异同 

XML全称为extensible markup language,即可扩展标记语言,简单理解为可预定义标签的编程语言。它与HTML(超文本标记语言)类似,但它主要用于数据存储和传输数据,而HMTL用于显示数据.

可概括为以下几点

1.名称是可扩展标记语言,理解为可预定义标签
2.它与HTML(超文本标记语言)类似
3.主要用于存储和传输数据
4.具有自我描述性,自定义标签名即其功能特性,如标签名为student的标签,它的功能就是存储或传输一个学生信息
5.但不作为,即纯粹为数据内容,需要其他程序和软件进行使用。

与HTML的异同

同:与html结构类似,都是标签标记数据的语言.

异:

  1. XML可自定义标签,HTML不能
  2. 处理数据的方式不同,XML用于存储和传输数据,而HTML负责显示数据
  3. XML与HTML没有上下级关系。

XML的语法

结构: 一种反转的树形结构,从根部到叶子

<root>         <!-- 根结点-->
<child> <!-- 子结点-->
<subchild> <!-- 根节点的孙子结点,子节点的子节点-->
.....
</subchild>
</child>
<child> <!-- 上一个child的兄弟结点-->
<subchild>
.....
</subchild>
</child>
</root>

顾名思义,XML的结构必含根结点/根元素,该结点为所有结点的父节点。它可有可没有子结点。子结点可再有子节点,也可有兄弟结点。

语法

  1. XML稳定以<?xml version="1.0" encoding="ISO-8859-1"?> 开头,定义XML的版本号和所采用的字符集;
  2. XML文档必有根节点,参照结构
  3. 标签以成双成对的形式出现,即有开始和结束标签<start></start>,非双标签不是XML元素;
  4. XML大小写敏感,即标签内容如果不相同,即为其他标签,如<start> <Start>,所以必须使用相同的大小写来编写开始标签和结束标签;
  5. 标签需要被正确嵌套,即子标签的开始和关闭必须在父标签内进行打开和关闭
<root>                                    <root>
<child> <!--正确> <child> <!--错误>
</child> </root>
</root> </child>
  1. 特殊语义,由于<>被用作语法标签的符号,所以文本内容的小于号就失效了(大于号还保留语义),故此要引入特殊符号&lt;来表示该符号。
错误范例,会产生错误
<sample> his age < than me </sample>
正确范例
<sample> his age ;&lt than me </sample>

7.其他特殊语义关键词还有;&gt(大于,great than) ;&apos(撇号,apstrophe) ;&quto(双引号,quotation) ;&amp(与号,ampersand);

8.标签内的属性需要加引号(单引双引都可)

<root src="xx/xx">
</root>

注:第7,8条容易引起歧义,即标签内<"">的引号没失效,无需使用特殊语义,文本内容<test> ;quto文本内容<test>的引号需要特殊语义来表示。

9.注释,单行以<!-- 和 -->来对代码进行注释说明

<!-- 注释内容 -->

XML的基础之一(概念和语法)的更多相关文章

  1. 使用XML的五种场合,XML基本规则,XML的术语,结构与语法

    在很多研讨会和培训班上我遇到过许多人,他们还不明白为什么要使用XML也不知道如何 在他们的应用中使用XML.一些来自诸如Gartner公司的报告建议说,商业公司不能再做 局外人了,不能对XML置之不理 ...

  2. 学习 JavaScript (三)核心概念:语法、变量、数据类型

    JavaScript 的核心概念主要由语法.变量.数据类型.操作符.语句.函数组成,这篇文章主要讲解的是前面三个,后面三个下一篇文章再讲解. 01 语法 熟悉 JavaScript 历史的人应该都知道 ...

  3. Java基础-正则表达式(Regular Expression)语法规则简介

    Java基础-正则表达式(Regular Expression)语法规则简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.正则表达式的概念 正则表达式(Regular Exp ...

  4. XML语言基础1

    这学期选修了XML技术这门课,没有发课本,于是参考了W3school教程,整理一下上课的内容. 1.XML简介 XML是一种标记语言,很类似HTML,它不是对HTML的替代,而是对HTML的补充.在大 ...

  5. C#中区别多态、重载、重写的概念和语法结构

    C#中区别多态.重载.重写的概念和语法结构 重写是指重写基类的方法,在基类中的方法必须有修饰符virtual,而在子类的方法中必须指明override. 格式: 基类中: public virtual ...

  6. Python 3 集合基础和概念!

    Python 3 集合基础和概念! Python 3中,集合是无序的,所以不能进行切片和索引操作. 创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的:frozenset()方法创建的集 ...

  7. net必问的面试题系列之基本概念和语法

    上个月离职了,这几天整理了一些常见的面试题,整理成一个系列给大家分享一下,机会是给有准备的人,面试造火箭,工作拧螺丝,不慌,共勉. 1.net必问的面试题系列之基本概念和语法 2.net必问的面试题系 ...

  8. HTML基础-------最初概念以及相关语法

    HTML概念以及相关语法 HTML HTML是一种类似于(c,java,c++)之类的语言,他是用来描述网页的一种语言.通过各种标签所代表的语义来构建出一个网页,再通过浏览器的渲染功能来实现该网页的各 ...

  9. vue的基础概念和语法01

    vue的特点和web开发中的常见高级功能 解耦视图和数据 可复用的组件 前端路由技术 状态管理 虚拟DOM 数据响应式 不是所有元素操作都Vue都会监听并实现数据响应式 //push方法:追加 thi ...

随机推荐

  1. 06: django+celery+redis

    目录: 1.1 Celery介绍 1.2 celery 组件 1.3 安装相关包 与 管理命令 1.4 celery与Django执行异步任务 1.5 在django中使用计划任务功能 1.1 Cel ...

  2. 提高CUI测试稳定性技术

    GUI自动化测试稳定性,最典型的表现形式就是,同样的测试用例在同样的环境上,时而测试通 过,时而测试失败. 这也是影响GUI测试健康发展的一个重要障碍,严重降低了GUI测试的可信性. 五种造成GUI测 ...

  3. hdu6468 zyb的面试 (思维)

    题目传送门 题意: 将1~n个数按字典序排序后,求第k个数 思路: 代码: #include<stdio.h> #include<iostream> #include<a ...

  4. JDK集合框架源码分析 - 简单概要

    1.类继承体系 在集合框架的类继承体系中,最顶层有两个接口Collection.Map: Collection 表示一组纯数据 Map 表示一组key-value对 Collection的类继承体系: ...

  5. jQuery进阶第二天(2019 10.10)

    一.事件流程 1.事件的三要素: 事件源:发生事件的对象 事件类型:类型比如单击.双击.鼠标的移入.移除 事件处理程序: 触发事件之后做些什么,事件处理的函数 <body> <but ...

  6. Axiso解决跨域访问

    问题: 在项目中需要需要讲本地项目去请求一个URL接口获取数据 例如: 本地请求地址:http://127.0.0.1:19323/site/info.json 请求Url地址:http://www. ...

  7. 北京太速科技股份有限公司产品手册V201903020

    如果您无法正常查看,请点击在线浏览                                           如果您无法正常查看,请点击在线浏览 了解更多产品信息,请扫描二维码,期待您的关注 ...

  8. JS监听浏览器标签页的显示与隐藏

    /** * 监听浏览器标签页的显示与隐藏 */ class ListenerPageVisibility { constructor () { // 设置隐藏属性和改变可见属性的事件的名称 this. ...

  9. SubwayPlan

    GitHub:https://github.com/wakerh1/subwayBJ 北京地铁图片: 地铁出行路线规划项目需求及实现概要: 1.设计一种文件格式用于存储地铁信息 2.设计启动程序并读取 ...

  10. 【Luogu4221】[WC2018] 州区划分

    题目链接 题目描述 略 Sol 一个州合法就是州内点形成的子图中 不存在欧拉回路(一个点也算欧拉回路). 这个东西显然就状压 dp 一下: 设 \(f[S]\) 表示当前考虑了 \(S\) 这个集合内 ...