当前位置:网站首页>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>
这篇文章就到这里结束了,接下来
边栏推荐
- Gavin teacher's perception of transformer live class - rasa project actual combat e-commerce retail customer service intelligent business dialogue robot system behavior analysis and project summary (4
- [designmode] adapter pattern
- FFMPEG关键结构体——AVCodecContext
- Zhongjun group launched electronic contracts to accelerate the digital development of real estate enterprises
- [Luogu p3295] mengmengda (parallel search) (double)
- AtCoder Beginner Contest 258【比赛记录】
- Browser local storage
- Atcoder beginer contest 258 [competition record]
- Huawei equipment is configured with OSPF and BFD linkage
- MySQL global lock and table lock
猜你喜欢
Priority queue (heap)
硬件及接口学习总结
微信小程序---WXML 模板语法(附带笔记文档)
Teach you to run uni app with simulator on hbuilderx, conscience teaching!!!
Room cannot create an SQLite connection to verify the queries
MySql——CRUD
Learn PWN from CTF wiki - ret2libc1
Go learning - dependency injection
Ffmpeg learning - core module
行列式学习笔记(一)
随机推荐
LeetCode 8. String conversion integer (ATOI)
Chapter 16 oauth2authorizationrequestredirectwebfilter source code analysis
什么叫做信息安全?包含哪些内容?与网络安全有什么区别?
7.5 装饰器
About the slmgr command
Go learning --- read INI file
上门预约服务类的App功能详解
Global and Chinese markets for hinged watertight doors 2022-2028: Research Report on technology, participants, trends, market size and share
JS 这次真的可以禁止常量修改了!
云呐|公司固定资产管理系统有哪些?
FFMPEG关键结构体——AVFrame
LeetCode 1598. Folder operation log collector
Recognize the small experiment of extracting and displaying Mel spectrum (observe the difference between different y_axis and x_axis)
Ffmpeg learning - core module
MySql——CRUD
[Luogu cf487e] tours (square tree) (tree chain dissection) (line segment tree)
Wechat applet -- wxml template syntax (with notes)
Effet Doppler (déplacement de fréquence Doppler)
Yunna | what are the main operating processes of the fixed assets management system
[day39 literature extensive reading] a Bayesian perspective on magnetic estimation