当前位置:网站首页>XML配置文件
XML配置文件
2022-07-06 00:17:00 【颠倒世界的一万六千亩玫瑰】
前言:(*゚ヮ゚)*本篇文章我写了与XML相关的基础知识, 接下来还会接着再写几篇关于XML的文章,感兴趣的家人们可以看看呦ヾ(•ω•`)o
目录
XML格式
什么是XML?
eXtensible Markup Language (XML)可扩展标记语言(标准通用标记语言的子集)是一种简单的数据存储语言。
使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然可扩展标记语言占用的空间比二进制数据要占用更多的空间,但可扩展标记语言极其简单易于掌握和使用。
可扩展标记语言(标准通用标记语言的子集)
————百度百科
XML的作用
(XML的作用原文来源是百度文库https://wenku.baidu.com/view/47802df483eb6294dd88d0d233d4b14e85243ee8.html)
1.数据交换
⽤XML在应⽤程序和公司之间作数据交换已不是什么秘密了,毫⽆疑问应被列为第⼀位。
那么为什么XML在这个领域⾥的地位这么重要呢?原因就是XML使⽤元素和属性来描述数
据。在数据传送过程中,XML始终保留了诸如⽗/⼦关系这样的数据结构。⼏个应⽤程序
可以共享和解析同⼀个XML⽂件,不必使⽤传统的字符串解析或拆解过程。
相反,普通⽂件不对每个数据段做描述(除了在头⽂件中),也不保留数据关系结构。使
⽤XML做数据交换可以使应⽤程序更具有弹性,因为可以⽤位置(与普通⽂件⼀样)或⽤元
素名(从数据库)来存取XML数据。
2.Web服务
Web服务是最令⼈激动的⾰命之⼀,它让使⽤不同系统和不同编程语⾔的⼈们能够相互交
流和分享数据。其基础在于Web服务器⽤XML在系统之间交换数据。交换数据通常⽤XML标
记,能使协议取得规范⼀致,⽐如在简单对象处理协议(Simple Object Access Protoc
ol, SOAP)平台上。
SOAP可以在⽤不同编程语⾔构造的对象之间传递消息。这意味着⼀个C#对象能够与⼀个
Java对象进⾏通讯。这种通讯甚⾄可以发⽣在运⾏于不同操作系统上的对象之间。DCOM
, CORBA或Java RMI只能在紧密耦合的对象之间传递消息,SOAP则可在松耦合对象之间传
递消息。
3.内容管理
XML只⽤元素和属性来描述数据,⽽不提供数据的显⽰⽅法。这样,XML就提供了⼀个优
秀的⽅法来标记独⽴于平台和语⾔的内容。
使⽤象XSLT这样的语⾔能够轻易地将XML⽂件转换成各种格式⽂件,⽐如HTML, WML, PD
F, flat file, EDI, 等等。XML具有的能够运⾏于不同系统平台之间和转换成不同格式
⽬标⽂件的能⼒使得它成为内容管理应⽤系统中的优秀选择。
4.Web集成
现在有越来越多的设备也⽀持XML了。使得Web开发商可以在个⼈电⼦助理和浏览器之间
⽤XML来传递数据。
为什么将XML⽂本直接送进这样的设备去呢?这样作的⽬的是让⽤户更多地⾃⼰掌握数据
显⽰⽅式,更能体验到实践的快乐。常规的客户/服务(C/S)⽅式为了获得数据排序或更
换显⽰格式,必须向服务器发出申请;⽽XML则可以直接处理数据,不必经过向服务器申
请查询-返回结果这样的双向“旅程”,同时在设备也不需要配制数据库。
甚⾄还可以对设备上的XML⽂件进⾏修改并将结果返回给服务器。想像⼀下,⼀台具有互
联⽹功能并⽀持XML的电冰箱将会给市场带来多么⼤的冲击吧。你从此不必早起去取⽜奶
了!
5.配制
许多应⽤都将配制数据存储在各种⽂件⾥,⽐如.INI⽂件。虽然这样的⽂件格式已经使
⽤多年并⼀直很好⽤,但是XML还是以更为优秀的⽅式为应⽤程序标记配制数据。使⽤.
NET⾥的类,如XmlDocument和XmlTextReader,将配制数据标记为XML格式,能使其更具
可读性,并能⽅便地集成到应⽤系统中去。使⽤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>[email protected]</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>[email protected]</email>
</contact>
</person>
</persons>
这篇文章就到这里结束了,接下来
边栏推荐
- 7.5 simulation summary
- 云呐|固定资产管理系统主要操作流程有哪些
- Key structure of ffmpeg - avframe
- Solve the problem of reading Chinese garbled code in sqlserver connection database
- 【GYM 102832H】【模板】Combination Lock(二分图博弈)
- Classical concurrency problem: the dining problem of philosophers
- 剖面测量之提取剖面数据
- How to solve the problems caused by the import process of ecology9.0
- Transport layer protocol ----- UDP protocol
- QT -- thread
猜你喜欢
[online chat] the original wechat applet can also reply to Facebook homepage messages!
The difference of time zone and the time library of go language
18. (ArcGIS API for JS) ArcGIS API for JS point collection (sketchviewmodel)
LeetCode 1598. Folder operation log collector
Atcoder beginer contest 254 [VP record]
What are the functions of Yunna fixed assets management system?
NSSA area where OSPF is configured for Huawei equipment
Key structure of ffmpeg - avframe
MySql——CRUD
Room cannot create an SQLite connection to verify the queries
随机推荐
Hudi of data Lake (2): Hudi compilation
USB Interface USB protocol
2022.7.5-----leetcode.729
Mysql - CRUD
[gym 102832h] [template] combination lock (bipartite game)
Doppler effect (Doppler shift)
LeetCode 6006. Take out the least number of magic beans
MySQL存储引擎
Gd32f4xx UIP protocol stack migration record
wx. Getlocation (object object) application method, latest version
LeetCode 1598. Folder operation log collector
[noi simulation] Anaid's tree (Mobius inversion, exponential generating function, Ehrlich sieve, virtual tree)
Global and Chinese markets for hinged watertight doors 2022-2028: Research Report on technology, participants, trends, market size and share
About the slmgr command
LeetCode 6005. The minimum operand to make an array an alternating array
Global and Chinese market of water heater expansion tank 2022-2028: Research Report on technology, participants, trends, market size and share
Wechat applet -- wxml template syntax (with notes)
Browser local storage
AtCoder Beginner Contest 258【比赛记录】
Room cannot create an SQLite connection to verify the queries