XML的基础之一(概念和语法)
XML的基础(概念和语法)
XML全称为extensible markup language,即可扩展标记语言,简单理解为可预定义标签的编程语言。它与HTML(超文本标记语言)类似,但它主要用于数据存储和传输数据,而HMTL用于显示数据.
可概括为以下几点
1.名称是可扩展标记语言,理解为可预定义标签
2.它与HTML(超文本标记语言)类似
3.主要用于存储和传输数据
4.具有自我描述性,自定义标签名即其功能特性,如标签名为student的标签,它的功能就是存储或传输一个学生信息
5.但不作为,即纯粹为数据内容,需要其他程序和软件进行使用。
与HTML的异同
同:与html结构类似,都是标签标记数据的语言.
异:
- XML可自定义标签,HTML不能
- 处理数据的方式不同,XML用于存储和传输数据,而HTML负责显示数据
- XML与HTML没有上下级关系。
XML的语法
结构: 一种反转的树形结构,从根部到叶子
<root> <!-- 根结点-->
<child> <!-- 子结点-->
<subchild> <!-- 根节点的孙子结点,子节点的子节点-->
.....
</subchild>
</child>
<child> <!-- 上一个child的兄弟结点-->
<subchild>
.....
</subchild>
</child>
</root>
顾名思义,XML的结构必含根结点/根元素,该结点为所有结点的父节点。它可有可没有子结点。子结点可再有子节点,也可有兄弟结点。
语法
- XML稳定以
<?xml version="1.0" encoding="ISO-8859-1"?>
开头,定义XML的版本号和所采用的字符集; - XML文档必有根节点,参照结构;
- 标签以成双成对的形式出现,即有开始和结束标签
<start></start>
,非双标签不是XML元素; - XML大小写敏感,即标签内容如果不相同,即为其他标签,如
<start> <Start>
,所以必须使用相同的大小写来编写开始标签和结束标签; - 标签需要被正确嵌套,即子标签的开始和关闭必须在父标签内进行打开和关闭
<root> <root>
<child> <!--正确> <child> <!--错误>
</child> </root>
</root> </child>
- 特殊语义,由于
<>
被用作语法标签的符号,所以文本内容的小于号就失效了(大于号还保留语义),故此要引入特殊符号<
来表示该符号。
错误范例,会产生错误
<sample> his age < than me </sample>
正确范例
<sample> his age ;< than me </sample>
7.其他特殊语义关键词还有;>(大于,great than) ;&apos(撇号,apstrophe) ;&quto(双引号,quotation) ;&(与号,ampersand);
8.标签内的属性需要加引号(单引双引都可)
<root src="xx/xx">
</root>
注:第7,8条容易引起歧义,即标签内<"">
的引号没失效,无需使用特殊语义,文本内容<test> ;quto文本内容<test>
的引号需要特殊语义来表示。
9.注释,单行以<!-- 和 -->
来对代码进行注释说明
<!-- 注释内容 -->
XML的基础之一(概念和语法)的更多相关文章
- 使用XML的五种场合,XML基本规则,XML的术语,结构与语法
在很多研讨会和培训班上我遇到过许多人,他们还不明白为什么要使用XML也不知道如何 在他们的应用中使用XML.一些来自诸如Gartner公司的报告建议说,商业公司不能再做 局外人了,不能对XML置之不理 ...
- 学习 JavaScript (三)核心概念:语法、变量、数据类型
JavaScript 的核心概念主要由语法.变量.数据类型.操作符.语句.函数组成,这篇文章主要讲解的是前面三个,后面三个下一篇文章再讲解. 01 语法 熟悉 JavaScript 历史的人应该都知道 ...
- Java基础-正则表达式(Regular Expression)语法规则简介
Java基础-正则表达式(Regular Expression)语法规则简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.正则表达式的概念 正则表达式(Regular Exp ...
- XML语言基础1
这学期选修了XML技术这门课,没有发课本,于是参考了W3school教程,整理一下上课的内容. 1.XML简介 XML是一种标记语言,很类似HTML,它不是对HTML的替代,而是对HTML的补充.在大 ...
- C#中区别多态、重载、重写的概念和语法结构
C#中区别多态.重载.重写的概念和语法结构 重写是指重写基类的方法,在基类中的方法必须有修饰符virtual,而在子类的方法中必须指明override. 格式: 基类中: public virtual ...
- Python 3 集合基础和概念!
Python 3 集合基础和概念! Python 3中,集合是无序的,所以不能进行切片和索引操作. 创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的:frozenset()方法创建的集 ...
- net必问的面试题系列之基本概念和语法
上个月离职了,这几天整理了一些常见的面试题,整理成一个系列给大家分享一下,机会是给有准备的人,面试造火箭,工作拧螺丝,不慌,共勉. 1.net必问的面试题系列之基本概念和语法 2.net必问的面试题系 ...
- HTML基础-------最初概念以及相关语法
HTML概念以及相关语法 HTML HTML是一种类似于(c,java,c++)之类的语言,他是用来描述网页的一种语言.通过各种标签所代表的语义来构建出一个网页,再通过浏览器的渲染功能来实现该网页的各 ...
- vue的基础概念和语法01
vue的特点和web开发中的常见高级功能 解耦视图和数据 可复用的组件 前端路由技术 状态管理 虚拟DOM 数据响应式 不是所有元素操作都Vue都会监听并实现数据响应式 //push方法:追加 thi ...
随机推荐
- HDU4471 Homework
题目 预处理转移矩阵的\(2^k\). 然后把关键点按下标排序. 每次用类似于矩阵快速幂的方法求出两个关键点中间的转移矩阵. #include<bits/stdc++.h> using n ...
- 牛客练习赛51 C 勾股定理
链接:https://ac.nowcoder.com/acm/contest/1083/C 题目描述 给出直角三角形其中一条边的长度n,你的任务是构造剩下的两条边,使这三条边能构成一个直角三角形. 输 ...
- c语言中字符串跨行书写的问题
字符串常量定义时的换行问题 如果我们在一行代码的行尾放置一个反斜杠,c语言编译器会忽略行尾的换行符,而把下一行的内容也算作是本行的内容.这里反斜杠起到了续行的作用. 如果我们不使 ...
- django基础知识之认识MVT MVC??
MVT Django是一款python的web开发框架 与MVC有所不同,属于MVT框架 m表示model,负责与数据库交互 v表示view,是核心,负责接收请求.获取数据.返回结果(相当于mvc的c ...
- RMQ 模板
RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为 n的数列A,回答若干次询问RMQ(i,j),返回数列A中下标在区间[i,j]中的最小/大 ...
- 连连看(简单搜索)bfs
连连看Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- ECMAScript 6 学习笔记(二)
ECMAScript 6 let和const命令 let命令 基本用法 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a ...
- java中遍历实体类属性和类型,属性值
public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, I ...
- jquery.lazyload (JS懒加载框架使用详解)
/** 本地加载方式加载JS*/ NSString *path = [[NSBundle mainBundle] pathForResource:@"jquery.js&quo ...
- Java设计模式之——代理设计模式
1.什么是代理设计模式 所谓代理模式是指客户端并不直接调用实际的对象,而是通过调用代理,来间接的调用实际的对象. 这里举一个栗子:就拿我们平时租房子来举例子,好比租客和房主之间的关系,我们租房子往往不 ...