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 ...
随机推荐
- 对C++拷贝构造函数的一点理解
一. 什么是拷贝构造函数 先看一个简单的例子: #include <iostream> using namespace std; class CExample { private: int ...
- Tarjan水题系列(3):HNOI2006 潘多拉的魔盒
题目: 链接 大意: 盒子与盒子之间的关系构成一个有向图 求图上包含节点数最多的路径的节点数 思路: 有向图上求包含节点数最多的路径的节点数 可直接使用tarjan缩点后拓扑dp求得 在此不赘述 此题 ...
- 断开ssh链接在后台继续运行命令
转载:http://blog.csdn.net/v1v1wang/article/details/6855552 对于linux运维,我们都是使用ssh登录到服务器,如果我们运行的任务需要很长时间或不 ...
- php批量POST修改
这是一个thinkphp中的批量修改的案例: 如需要删除多项,或者同时修改多项记录 要点: 前端表单中name要加[],如:<input type="hidden" name ...
- ThinkPHP视图css和js加上版本号防止缓存
前台模块中,我的所有控制器都继承BaseController,虽然ThinkPHP中我们提供了两个配置项 'TMPL_CACHE_ON' => false,// 禁止模板编译缓存 'HTML_C ...
- JS的for循环包裹异步函数的问题
有个循环,循环一个异步回调,为啥回调引用的循环值都是最后一步循环的循环值?然后,又有些时候无论什么循环值都得不到? var arr = [1,3,5,7,9]; var arrLength = arr ...
- 编写第一个Qt程序
http://c.biancheng.net/view/1817.html 学习一种编程语言或编程环境,通常会先编写一个“Hello World”程序.我们也用 Qt Creator 编写一个“Hel ...
- 007-流程控制 if 语句
流程控制 if 语句 if [ 条件判断式 ] ; then 程序 fi if [ 条件判断式 ] then 程序 fi 脚本示例: [root@zabbix lianxi]# .sh #!/bin/ ...
- [AI]cognitive business|cognitive thinking
just watch the cognitive business presentation of IBM CEO Ginni. here is my thoughts in this field : ...
- Oracle 9i,10g,11g各自alert日志的位置
10g&9i的alert日志: 进入oracle:[zhangshengdong@oralocal1 ~]$ sudo su - oracle[oracle@oralocal1 ~]$ sql ...