XML 简单介绍
先附上一张XML 大概图:详解见博客内容。
一、定义
XML(EXtensible Markup Language) :可扩展标记语言。
设计的用途:用来描述,存储,传输数据信息。
二、特色
1、单纯的XML只具有描述性作用。
XML被设计用来结构化、存储以及传输信息,看这个例子:
下面是wyx 写给john 的email,存储为 XML:
<email>
<to>john</to>
<from>wyx</from>
<heading>greeting</heading>
<body>hello,you are a good man!</body>
</email>
上面的这条便签具有自我描述性。它拥有标题以及内容,同时包含了发送者和接受者的信息。
但是,这个XML 文档仍然没有做任何事情。它仅仅是包装在 XML 标签中的纯粹的信息。
需要编写软件或者程序,才能传送、接收和显示出这个文档。
2、与Html不同
同:都是标记语言
不同:
用途不同
htmL:关注数据的显示。
Xml :关注的是数据内容,用来传输,包含数据。
标签
HTML:预定义的标签
XML:自行定义标签。
上例中的标签没有在任何XML 标准中定义过的标签,比如 <to> 和 <from>。这些标签是由编写者自己发明的哦!
在HTML 中使用的标签(以及 HTML 的结构)是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签(比如 <p>、<h1> 等等)。XML 允许创作者定义自己的标签和自己的文档结构。
3、与数据库不同
数据库:存储数据,且强大的分析数据能力
XML:只是存储数据
三、用途:(跨平台)
为什么会出现XML?
答:XML 把数据从 HTML 分离
如果你需要在HTML 文档中显示动态数据,那么每当数据改变时将花费大量的时间来编辑 HTML。
通过XML,数据能够存储在独立的 XML 文件中。这样你就可以专注于使用 HTML 进行布局和显示,并确保修改底层数据不再需要对 HTML 进行任何的改变。
通过使用几行JavaScript,你就可以读取一个外部 XML 文件,然后更新 HTML 中的数据内容。
围绕这个核心,XML运用到一下方面,而且在发展的过程中,完善和增加了更多功能。
作为系统的配置文件
传输数据Web Services ,Ajax.
异构平台的数据交换与整合。
四、语法
1、大多数以 XML声明开始
例:<? Xml version="1.0" encoding="utf-8">
Encoding :字符编码方式。——跟保存形式有关
2、结构
格式良好的XML。
拥有正确语法的XML
通过DTD验证的XML是“合法”的XML
遵循:
必须要根元素,只有一个。必须有
必须有开始,关闭标签
标记对大小写敏感
必须被正确的嵌套
属性的值必须加引号
树状结构
上图表示下面的XML 中的一本书:
<bookstore>
<bookcategory="COOKING">
<title lang="en">EverydayItalian</title>
<author>Giada DeLaurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<bookcategory="CHILDREN">
<title lang="en">HarryPotter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<bookcategory="WEB">
<title lang="en">LearningXML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
3、实体引用:——为了解决编写一些特殊字符的方法。
4、属性
必须有值。引号要一直(单,双)
5、CDATA与注释。
CDATA:<![CDATA[文本内容]]>
注释:<!--注释内容-->
五、处理指示(PI=processinginstruction)
指示当前的XML文件的内容,如何被显示或者处理。
语法:<?target arg*?> <?target value?>
一个Xml文档可以包含多个针对不同应用程序的处理指令。处理指令由两部分组成,target和value。target的角色类似于“名称”,紧随target之后的字符串就是value,value可以包含多个标记。
例子:使用XSLT处理当前的XML文件实例
<?xml-stylesheet type="text/xsl"href="book.xsl"?>
XML 简单介绍的更多相关文章
- XML简单介绍及举例
可扩展标记语言(eXtensibleMarkup Language,简称XML).是一种标记语言.标记指计算机所能理解的信息符号.通过此种标记,计算机之间能够处理包括各种信息的文章等. 怎样定义这些标 ...
- 四、testNG.xml 简单介绍
TestNG定义了一套非常具体的术语描述测试. testng.xml testng.xml是一个以XML记录所有测试的文件.可以利用这个文件,跑同一个类或者多个不同类里面的测试用例. testng.x ...
- xml简单介绍及libmxml编程
今天我们来简单介绍一下,关于xml的一些内容,包括自己编写一些程序进行生成和解析. 首先我们我们还是从xml的演化历史来了解一下它吧. 历史演化 GML: 在20世纪60年代为了促进数据交换和操作,通 ...
- XML学习总结(2)——XML简单介绍
一.XML概念 Extensible Markup Language,翻译过来为可扩展标记语言.Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发布的XML1.0规范. 二.学习XM ...
- 1.xml简单介绍
1.xml(eXtensible Markup Language)的简介 (1)xml: 可扩展标记型语言 - 标记型语言:例如html也是标记型语言,也是使用标签来操作的 - 可扩展:html里面的 ...
- XML简单介绍
什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language). XML 是一种很像HTML的标记语言. XML 的设计宗旨是传输数据,而不是显示数据. XML 标 ...
- 安卓开发-使用XML菜单布局简单介绍
使用xml布局菜单 目前为止我们都是通过硬编码来增加菜单项的,android为此提供了一种更便利的方式,就是把menu也定义为应用程序的资源,通过android对资源的本地支持,使我们可以更方便地 ...
- FOR XML PATH 简单介绍
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...
- Java Web中web.xml文件简单介绍
参考博客: https://www.cnblogs.com/Y-oung/p/8401549.html 1.XML 声明和根元素 <?xml version="1.0" en ...
随机推荐
- 原生js粘贴复制【源码】
<html> <head> <meta charset="UTF-8"> <title>9行代码实现复制内容至剪切板</tit ...
- 500 多个 Linux 命令文档搜索
500 多个 Linux 命令文档搜索 搜索界面:https://wangchujiang.com/linux-command/ 源码:https://github.com/jaywcjlove/li ...
- 使用fastadmin系统自带的图片上传plupload
首先,form表单需要具有如下代码 <form class="form-horizontal" role="form" method="POST ...
- ZXing.Net.Mobile无法识别较大的条码
ZXing.Net.Mobile无法识别较大的条码 在Xamarin项目中,使用ZXing.Net.Mobile实现条码扫描时,可能会出现无法顺利识别较大的条码,而可以正常识别较小的条码.这是由于ZX ...
- Yum安装时提示多库版本保护 Multilib version problems found
例如: yum install pcre pcre-devel 出现一下错误: 解决方法:yum install --setopt=protected_multilib=false pcre pcre ...
- python @classmethod 的使用场合
python @classmethod 的使用场合 官方的说法: classmethod(function)中文说明:classmethod是用来指定一个类的方法为类方法,没有此参数指定的类的方法为实 ...
- GC参数
串行收集器 串行收集器(Serial),是一个相对比较老的回收器,但是它的效率在回收器中相对较好,并且比较稳定.他在进行垃圾回收的过程中,使得应用暂时被挂起,然后启用单条线程去做垃圾回收,所以在进行垃 ...
- [NC13A]反蝴蝶效应/[SPOJ-NPC2014D]General Joke
[NC13A]反蝴蝶效应/[SPOJ-NPC2014D]General Joke 题目大意: 按顺序访问\(A_{1\sim n}(n\le10^5)\),经过\(A_i\)时身上必须有\(A_i\) ...
- Java创建线程的三种主要方式
Java创建线程的主要方式 一.继承Thread类创建 通过继承Thread并且重写其run(),run方法中即线程执行任务.创建后的子类通过调用 start() 方法即可执行线程方法. 通过继承Th ...
- 深入浅出JDBC-操作时间与大对象(Clob/Blob)
一.时间(Date.Time.Timestamp) java.sql.Date/java.sql.Time/java.sql.Timestamp extends java.util.Date publ ...