Java中XML常见知识(一)概述

XML的概述

Don Box等人在其合著的《Essential XML》的前言中半开玩笑的说道:“可扩展标记性语言已经取代了Java、设计模式、对象技术,称为软件行业解决世界饥荒的方案。”确实,XML是一种非常有用的描述结构化信息的技术。

其实大家在许多项目中见过一些程序配置是采用properties文件来描述,属性文件里面包含一组有一组的键值对(key=value)形式。例如:

//user类的属性配置
user1.username=张三
user1.password=123456
user1.age=21
user1.gender=男

在项目中也有许多办法来读取properties文件里面的属性值,这写出比较简单的一种:

//通过文件的路径,获取对应的输入流
InputStream in = this.class.getResourceAsStream("/com/file/source/Data.properties");

Properties prop = new Properties();
prop.load(in);
//通过key值去获取对应的value值
String username = prop.getProperty("user1.username");

用properties有时候描述不了较为复杂的信息的结构,而且上述的properties文件不太符合面对对象的原则,如果将上述properties文件用比较符合面对对象的写法去写,如下:

user1 = 张三 123456 21 男

user2 = 李四 123556 22 女

但是这样写出来的properties文件不好解析,你要去判断每个属性在何处描述结束 在何处描述又开始,这样就显得比较麻烦。而且常常放入一个值序列,要求键是唯一的。而此时XML格式就解决了这个问题,因为它能够表示层次结构,比属性文件的平面结构更灵活。

<userInfo>
   <user>
       <username>张三</username>
       <password>123456</password>
       <age>21</age>
       <gender>男</gender>    
   <user>
   <user>
       <username>李四</username>
       <password>123341</password>
       <age>22</age>
       <gender>女</gender>    
   <user>
</userInfo>

XML文档的结构:

XML文档应当以一个文档头开始,例如:

<?xml version="1.0" enconding="UTF-8"?>

或者

<?xml version="1.0"?>

严格来说,文档头是可选的,但是强烈建议你是使用文档头。文档头之后通常是文类型定义(Document Type Definition DTD),例如:

<!DOCTYPE web-app PUBLIC 
   "-//Sun Microsystem, Inc.//DTD Web Application 2.2//EN"
   "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

XML基本概述的理解到此,后续会有补充,也会讲到如何解析XML文档、验证XML文档、生成XML文档。

欢迎初级Java程序员和我一起学习交流,关注微信公众号swft1314可以领取免费的学习资料,加油一起进步,骚年!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十万芙特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值