XML和properties配置文件及相关约束的引入和解析

配置文件的种类


一、两种配置文件的区别

1、从结构上来说:

.xml文件主要是树形结构,与html文件类似
.properties文件主要是以key-value键值对的形式存在。

2、从灵活程度上来说:

.xml格式的文件要比.properties格式的文件更灵活一些
.properties格式的文件已键值对形式存在,主要就是赋值,而且只能赋值,不能够进行其他的操作。
.xml格式的文件可以有多种操作方法,例如添加一个属性,或者做一些其他的定义等。

3、从使用便捷程度来说:

.properties格式的文件要比.xml文件配置起来简单一些。
配置.properties只需要简单的getProperty(key)方法或者setProperty(key,value)方法就可以读取或者写入内容;
配置.xml文件的时候通常要查看文档,因为配置比较繁琐,花费时间长才可以配置完整。

4、从应用程度上来说:

.properties文件比较适合于小型简单的项目。
.xml文件适合大型复杂的项目,因为它比较灵活。

//实现形式为键值对
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db1
username=root
password=root


<databases>
	<database id="mysql">
		<driver>com.mysql.jdbc.Driver</driver>
		<url>jdbc:mysql://localhost:3306/db1</url>
		<username>root</username>
		<password>root</password>
	</database>
	<database id="oracle">
		<driver>com.oracle.jdbc.Driver</driver>
		<url>jdbc:oracle://localhost:3306/db2</url>
		<username>root</username>
		<password>123</password>
	</database>
</databases>


二、xml文件的约束(properties文件只能写成键值对形式可以看成是一种约束吧)

原因:在XML技术里,可以通过约束文档,来约束XML文档的书写规范,这称之为XML约束。
常见的xml约束有:DTD、Schema

1.DTD约束

引入方式:
方式一:

	<!DOCTYPE 根标签 [约束文档的内容]>

方式二:(也就是下面代码中的引入方式)

	<!DOCTYPE 根标签 SYSTEM "约束文档的文件名">

方式三:引入网络端的某个约束文档

	<!DOCTYPE 根标签 PUBLIC "约束文档的文件名" "约束文档的URL">

student.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE students SYSTEM "D:\idea\Idea-project\RAO\src\Xml\dtd\student.dtd">
<students>
    <student number="a001" id="a1">
        <name class="a01">tom</name>
        <age>18</age>
        <sex></sex>
    </student>
    <student number="a002" id="a2">
        <name class="a02">jerry</name>
        <age>19</age>
        <sex></sex>
    </student>
</students>

student.dtd

<!ELEMENT students (student*) >
<!ELEMENT student (name,age,sex)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!ATTLIST student number ID #REQUIRED>
<!ATTLIST student id ID #REQUIRED>
<!ATTLIST 
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值