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 ...
随机推荐
- openssl asn.1 生成DER文件,把DER文件转换成内部数据结构
1 在实现之前,先来介绍如何生成der文件,有了源数据才能进行验证和测试.生成的方法是使用在openssl的命令中使用*asn1parse*根据配置文件来生成.详情如下: 1.1 创建配置文件test ...
- SpringBoot整合Shiro实现基于角色的权限访问控制(RBAC)系统简单设计从零搭建
SpringBoot整合Shiro实现基于角色的权限访问控制(RBAC)系统简单设计从零搭建 技术栈 : SpringBoot + shiro + jpa + freemark ,因为篇幅原因,这里只 ...
- Failed to resolve directive: el vue2报错
vue2报错 Failed to resolve directive: el 为什么会报这个错呢,主要还是因为vue升级的时候,v-el在vue2.x以后被淘汰.使用新的标签ref替换v-el,接下来 ...
- 【HDU 6017】 Girls Love 233 (DP)
Girls Love 233 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- WPF常用控件样式( 内含一简单插件式开发示例)
最近离职,离职前面的一份外派然后又外包的工作,总觉得不妥,之后外派的办个入职手续都一再失约,干脆推了.恰逢清明时节,暴雨纷纷,于是打算先休息休息调整下状态,工作的事情还是谨慎点的好,免得影响心情.话说 ...
- 51Nod1802 左偏树计数
题目大意 求$n$个点的无标号左偏树个数 既然你都点进来了,那么估计也是奔着题解来的.... 废话少说.... 首先,左偏树有这么一些性质 设最右链长度为$r[p]$ 1.左偏树的子树仍然是左偏树 2 ...
- [POJ2749]Building roads(2-SAT)
Building roads Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8153 Accepted: 2772 De ...
- Codeforces 839D Winter is here(容斥原理)
[题目链接] http://codeforces.com/contest/839/problem/D [题目大意] 给出一些数,求取出一些数,当他们的GCD大于0时,将数量乘GCD累加到答案上, 求累 ...
- 【最小表示法】BZOJ2882-工艺
[题目大意] 求一个循环数列的最小表示法. [思路] 最小表示法模板题.之前用SAM做的,MLE了hhhhh戳☆ #include<iostream> #include<cstdio ...
- Java并发(十五):并发工具类——信号量Semaphore
先做总结: 1.Semaphore是什么? Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理的使用公共资源. 把它比作是控制流量的红绿灯,比如XX马路要 ...