初识xml
来源:互联网 发布:师洋的淘宝店地址 编辑:程序博客网 时间:2024/05/21 08:42
网上对xml的用途争议颇大。xml不能代替html,他的诞生也不是为了替代html ,(这本身就是个争议了,有专家提出了一大堆理论,也有牛人发表了使用心得,请参考xml给我们带来了什么?)
1、初步认识xml
xml和html的对比
(1)使用有意义的标记
html只是进行了数据格式化,,以便提供给浏览器读取,但不能传达数据的语义。而xml标记却能提供语义理解功能
(2)数据的语义与显示方式分开
html定义了数据如何显示,但没有定义每个元素表示什么内容。因此如果获取了html格式的数据,可以立即显示它,但要对数据进行整理和其他操作就非常困难。而xml描述数据内容的语言,本身不决定数据该如何显示,数据的显示由xsl决定.
(3)可自定义的标记html标记各类有限不能随意添加,而xml 可由用户按需要添加。
(4)严格的语法控制
一直有人说html的语法规则比较多元化,比较松散,对网页编写者来说,比较方便,但对于机器来说,语言的语法越松散,处理起来就越困难,对于传统的计算机来说,还有能力兼容松散语法,但对于许多其他设备,比如手机,难度就比较大。xml有严格的语法要求,文件格式相对紧凑,比较容易被程序处理
xml和xsl
有了xml和dtd的认识,我们就可以来做个简单的xml了
,
你看,如果不讨论xsl,xml就是一个存储复合数据的文件
xml
好吧,如果把xml和xsl分离了,那我就只能对xml定位为一个存储数据,交流数据的数据类型了。我们来看一个简单的xml的例子
<?xml version="1.0" ecoding="utf-8"?>//xml声名 <!DOCTYPE student SYSTEM "student.dtd">//文档规则说明 <!--student context--><student> //根元素,只能有一个 <name> //student的子元素,它里面可以嵌套其他元素 <first>e</first> //里面的“e”是个字符串,是first元素的值 <middle>q</middle> <last>yun</last> </name> //name元素的结束标志 <sex>boy</sex> <age>22</age> <address type="office"> //type是对address这个元素的属性声音 <street>earth</street> <country>china</country> </address></student>这个xml就是把一个学生的名字:eqyun,性别:boy,住址:.. 存了起来。就是个复合数据类型嘛
如果你有留意到
<!DOCTYPE student SYSTEM "student.dtd">
中的"student.dtd",那我就感动了(这么认真看,抱一个~)
DTDdtd是让xml文件能够成为数据交换标准的保证, 是对xml元素定义的方法,例如以上对student.xml的元素定义 student.dtd
<?xml version="1.0" encoding="utf-8"?> <!ELEMENT student (name,sex,age,adderss)> //!ELEMENT 定义了一个元素student ,它里面包含其他元素 <!ELEMENT name (first, middle, last)> <!ELEMENT first (#PCDATA)> //定义了first元素,他的数据类型是#PCDATA <!ELEMENT middle(#PCDATA)> <!ELEMENT last(#PCDATA)> <!ELEMENT sex (#PCDATA)> <!ELEMENT age(#PCDATA)> <!ELEMENT address(street,ountry)> <!ELEMENT address(#PCDATA)> <!ELEMENT county(#PCDARA)>
dtd也可以在内部定义
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE 文档根元素 [ ....内部dtd内容...]><文档根元素>.......</文档根元素>
DTD的优点:
@使得xml文档保持一致
@DTD可以共享
@DTD提供了对xml语汇的形式化和完整的定义
@DTD可以共享
@DTD提供了对xml语汇的形式化和完整的定义
@每个XML文档都有单个DTD来限制
有了xml和dtd的认识,我们就可以来做个简单的xml了
,
你看,如果不讨论xsl,xml就是一个存储复合数据的文件
- 初识XML
- XML初识
- 初识xml
- 初识XML
- 初识xml
- 初识XML
- 初识XML
- 初识XML
- 初识XML
- 初识XML
- 初识XML
- 初识XML
- 初识XML
- 初识XML
- 初识xml
- 初识XML
- xml初识
- 《XML初识》
- SVM入门(八)松弛变量
- Linux环境进程间通信(五): 共享内存(下)
- Ext.LoadMask
- Java的内存泄露
- 开发有感
- 初识xml
- SVM入门(九)松弛变量(续)
- EVC 下CString转换为int
- 程序猿装B指南
- cvs log 查找某个分支上提交的文件
- 编译性语句和解释型语句的区别
- iPhone帮帮忙(全彩)
- Linux环境进程间通信(六): 套接口
- OLDB读取excel的数据类型不匹配的解决方案