当前位置:网站首页>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>这篇文章就到这里结束了,接下来
边栏推荐
- The global and Chinese markets of dial indicator calipers 2022-2028: Research Report on technology, participants, trends, market size and share
- LeetCode 1598. Folder operation log collector
- Asynchronous task Whenall timeout - Async task WhenAll with timeout
- 选择致敬持续奋斗背后的精神——对话威尔价值观【第四期】
- 时区的区别及go语言的time库
- Extracting profile data from profile measurement
- Global and Chinese market of water heater expansion tank 2022-2028: Research Report on technology, participants, trends, market size and share
- LeetCode 6006. Take out the least number of magic beans
- 软件测试工程师必会的银行存款业务,你了解多少?
- Multithreading and high concurrency (8) -- summarize AQS shared lock from countdownlatch (punch in for the third anniversary)
猜你喜欢

NSSA area where OSPF is configured for Huawei equipment

【在线聊天】原来微信小程序也能回复Facebook主页消息!

Notepad++ regular expression replacement string

STM32 configuration after chip replacement and possible errors

Multithreading and high concurrency (8) -- summarize AQS shared lock from countdownlatch (punch in for the third anniversary)

There is no network after configuring the agent by capturing packets with Fiddler mobile phones

notepad++正则表达式替换字符串

MySQL存储引擎

Knowledge about the memory size occupied by the structure

多线程与高并发(8)—— 从CountDownLatch总结AQS共享锁(三周年打卡)
随机推荐
[Chongqing Guangdong education] Chongqing Engineering Vocational and Technical College
数据库遇到的问题
Atcoder beginer contest 258 [competition record]
Huawei equipment is configured with OSPF and BFD linkage
Go learning - dependency injection
LeetCode 1189. Maximum number of "balloons"
MySQL存储引擎
2022.7.5-----leetcode. seven hundred and twenty-nine
云呐|固定资产管理系统功能包括哪些?
Choose to pay tribute to the spirit behind continuous struggle -- Dialogue will values [Issue 4]
Global and Chinese markets of universal milling machines 2022-2028: Research Report on technology, participants, trends, market size and share
Configuring OSPF load sharing for Huawei devices
【luogu P3295】萌萌哒(并查集)(倍增)
Search (DFS and BFS)
FFT learning notes (I think it is detailed)
Cloudcompare & PCL point cloud randomly adds noise
Key structure of ffmpeg - avformatcontext
Extracting profile data from profile measurement
Browser local storage
[designmode] adapter pattern