前言:(☞゚ヮ゚)☞本篇文章我写了与XML相关的基础知识, 接下来还会接着再写几篇关于XML的文章,感兴趣的家人们可以看看呦ヾ(•ω•`)o
目录
eXtensible Markup Language (XML)可扩展标记语言(标准通用标记语言的子集)是一种简单的数据存储语言。
使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然可扩展标记语言占用的空间比二进制数据要占用更多的空间,但可扩展标记语言极其简单易于掌握和使用。
可扩展标记语言(标准通用标记语言的子集)
————百度百科
(XML的作用原文来源是百度文库https://wenku.baidu.com/view/47802df483eb6294dd88d0d233d4b14e85243ee8.html)
⽤XML在应⽤程序和公司之间作数据交换已不是什么秘密了,毫⽆疑问应被列为第⼀位。
那么为什么XML在这个领域⾥的地位这么重要呢?原因就是XML使⽤元素和属性来描述数
据。在数据传送过程中,XML始终保留了诸如⽗/⼦关系这样的数据结构。⼏个应⽤程序
可以共享和解析同⼀个XML⽂件,不必使⽤传统的字符串解析或拆解过程。
相反,普通⽂件不对每个数据段做描述(除了在头⽂件中),也不保留数据关系结构。使
⽤XML做数据交换可以使应⽤程序更具有弹性,因为可以⽤位置(与普通⽂件⼀样)或⽤元
素名(从数据库)来存取XML数据。
Web服务是最令⼈激动的⾰命之⼀,它让使⽤不同系统和不同编程语⾔的⼈们能够相互交
流和分享数据。其基础在于Web服务器⽤XML在系统之间交换数据。交换数据通常⽤XML标
记,能使协议取得规范⼀致,⽐如在简单对象处理协议(Simple Object Access Protoc
ol, SOAP)平台上。
SOAP可以在⽤不同编程语⾔构造的对象之间传递消息。这意味着⼀个C#对象能够与⼀个
Java对象进⾏通讯。这种通讯甚⾄可以发⽣在运⾏于不同操作系统上的对象之间。DCOM
, CORBA或Java RMI只能在紧密耦合的对象之间传递消息,SOAP则可在松耦合对象之间传
递消息。
XML只⽤元素和属性来描述数据,⽽不提供数据的显⽰⽅法。这样,XML就提供了⼀个优
秀的⽅法来标记独⽴于平台和语⾔的内容。
使⽤象XSLT这样的语⾔能够轻易地将XML⽂件转换成各种格式⽂件,⽐如HTML, WML, PD
F, flat file, EDI, 等等。XML具有的能够运⾏于不同系统平台之间和转换成不同格式
⽬标⽂件的能⼒使得它成为内容管理应⽤系统中的优秀选择。
现在有越来越多的设备也⽀持XML了。使得Web开发商可以在个⼈电⼦助理和浏览器之间
⽤XML来传递数据。
为什么将XML⽂本直接送进这样的设备去呢?这样作的⽬的是让⽤户更多地⾃⼰掌握数据
显⽰⽅式,更能体验到实践的快乐。常规的客户/服务(C/S)⽅式为了获得数据排序或更
换显⽰格式,必须向服务器发出申请;⽽XML则可以直接处理数据,不必经过向服务器申
请查询-返回结果这样的双向“旅程”,同时在设备也不需要配制数据库。
甚⾄还可以对设备上的XML⽂件进⾏修改并将结果返回给服务器。想像⼀下,⼀台具有互
联⽹功能并⽀持XML的电冰箱将会给市场带来多么⼤的冲击吧。你从此不必早起去取⽜奶
了!
许多应⽤都将配制数据存储在各种⽂件⾥,⽐如.INI⽂件。虽然这样的⽂件格式已经使
⽤多年并⼀直很好⽤,但是XML还是以更为优秀的⽅式为应⽤程序标记配制数据。使⽤.
NET⾥的类,如XmlDocument和XmlTextReader,将配制数据标记为XML格式,能使其更具
可读性,并能⽅便地集成到应⽤系统中去。使⽤XML配制⽂件的应⽤程序能够⽅便地处理
所需数据,不⽤象其他应⽤那样要经过重新编译才能修改和维护应⽤系统
- 有且只有一个根元素
- XML标签大小写正确区分
- 正确使用结束标签
- 正确嵌套标签
- 使用了合法的标签名
- 定义有效的属性
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE persons[
- <!ELEMENT persons (person+)>
- <!ELEMENT person (name,age,contact,br?)>
- <!ELEMENT name (#PCDATA)>
- <!ELEMENT age (#PCDATA)>
- <!ELEMENT contact (phone*,email?)>
- <!ELEMENT phone (#PCDATA)>
- <!ELEMENT email (#PCDATA)>
- <!ELEMENT br EMPTY>
- ]>
- <persons>
- <person>
- <name>张小明</name>
- <age>10</age>
- <contact>
- <phone>1234567</phone>
- </contact>
- <br/>
- </person>
- <person>
- <name>张大明</name>
- <age>35</age>
- <contact>
- <email>123@qq.com</email>
- </contact>
- </person>
- </persons>
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE persons[
- <!ELEMENT persons (person+)>
- <!ELEMENT person (name,age,contact,br?)>
- <!ELEMENT name (#PCDATA)>
- <!ELEMENT age (#PCDATA)>
- <!ELEMENT contact (phone*,email?)>
- <!ELEMENT phone (#PCDATA)>
- <!ELEMENT email (#PCDATA)>
- <!ELEMENT br EMPTY>
- <!-- 属性定义-->
- <!ATTLIST person
- pid ID #REQUIRED
- sex (男|女) '男'
- qq CDATA #IMPLIED
- parent IDREF #IMPLIED
- >
- ]>
- <persons>
- <person pid="p1" sex="男" qq="aaa" parent="p2">
- <name>张小明</name>
- <age>10</age>
- <contact>
- <phone>1234567</phone>
- </contact>
- <br/>
- </person>
- <person pid="p2">
- <name>张大明</name>
- <age>35</age>
- <contact>
- <email>123@qq.com</email>
- </contact>
- </person>
- </persons>
这篇文章就到这里结束了,接下来