注意 xml裡現在所有的標籤跟屬性都是自己定義的,到後面的xml解析才會用到,解析前一切都是自己定義
例如class: 就是需要建立物件的類全名
id:就等於是儲存這個物件的變數,最終我們會把例項化的所有物件放到map中
物件就是value,id值 就是key,我們就可以通過這個map的key(id ) 得到對應的value
>
"userdao"
class
="dsf.dao.impl.userdao"
>
bean
>
這句話相當於 userdao userdao=new userdao();
"userservice"
class
="dsf.service.impl.userservice"
>
這句話相當於 userservice userservice=new userservice();
bean:bean標籤中的id
name:當前類中的變數
把bean的id為userdao對應的物件,放到當前物件中的userdao變數中去
--!>
name
="userdao"
bean
="userdao"
/>
寫到這個bean裡面相當於 userservice.userdao=new userdao();
bean
>
beans
>
xml解析
建立乙個用於解析xml的物件
saxreader reader=new saxreader();
//getclass 獲取執行時列
//getclassloader: 獲取類載入器
//getresourceasstream: 把檔案轉換流
document document=reader.read(this.getclass().getclassloader().getresourceasstream(filepath)); //這裡的filepath是當前方法中傳參過來的
獲取根標籤 beans
element root=document.getrootelement();
//獲取beans下所有子標籤,bean
list list=root.elements();
//遍歷 得到每乙個bean標籤
for(element element:list){
//獲取當前bean標籤的id和class
string id=element.attributevalue(「id」);
string clazz=element.attributevalue(「class」);
//根據類全名建立物件
object object=class.forname(clazz).newinstance();
//把物件新增到map中
context.put(id,object);
//獲取bean標籤下的子標籤(property)
list propertys=element.elements();
//如果沒有property子標籤,說明不需要注入
//如果有,需要遍歷
if(propertys!=null&&property.size()){
for(element property:propertys){
//獲取name屬性和bean屬性
string name=element.attributevalue(「name」);
string bean=element.attributevalue(「bean」);
//根據bean獲取需要注入的物件
/**注入需要三個資料
1 注入到哪個物件 object
2注入到哪個變數 name
3 注入哪個物件 beanobject
xml學習小結
從上周末開始看xml的東西 開始主要是想學習讀,寫操作 自己先看了xml的語法 後來我師傅給我乙個xml檔案,讓我先進行讀操作 一時有點不知道所措,後來就在論壇發帖問 也是通過這個我第一次使用csdn發帖 第乙個帖子寫的太籠統,沒有得到好的回答 當自己又有更明確的目標後,開始發弟2個帖子 這次得到好...
xml初學小結
xml語言出現的根本目標在於描述上圖那種,在現實生活中經常出現的有關係的資料。在xml語言中,它允許使用者自定義標籤。乙個標籤用於描述一段資料 乙個標籤可分為開始標籤和結束標籤,在開始標籤和結束標籤之間,又可以使用其它標籤描述其它資料,以此來實現資料關係的描述。例如 中國 北京 海淀 海淀區 ml技...
xml操作小結
using system.xml 初始化乙個xml例項 xmldocument xml new xmldocument 指定乙個節點 xmlnode root xml.selectsinglenode root 獲取節點下所有直接子節點 xmlnodelist childlist root.chil...