目錄
一.XML建模是什么
二.XML建模有什么作用???
三.XML建模的案例
????????????????以config.xml為例
一.XML建模是什么
????????將XML配置文件中的元素、屬性、文本信息轉(zhuǎn)換成對(duì)象的過程叫做XML建模
二.XML建模有什么作用???
XML是被設(shè)計(jì)用來存儲(chǔ)數(shù)據(jù)、攜帶數(shù)據(jù)和交換數(shù)據(jù)的。XML不是為了顯示數(shù)據(jù)而設(shè)計(jì)的,主要是用于交換數(shù)據(jù),可以從HTML中分離數(shù)據(jù),也可以用于存儲(chǔ)數(shù)據(jù),大量的數(shù)據(jù)可以存儲(chǔ)到XML文件中或者數(shù)據(jù)庫中,應(yīng)用程序可以讀寫和存儲(chǔ)數(shù)據(jù),一般的程序可以顯示數(shù)據(jù)。
三.XML建模的案例
以config.xml為例
?以面向?qū)ο蟮乃季S來建模,來解析上方代碼(先看標(biāo)簽,然后再看屬性)步驟
1.? ?在configModel中添加actionModel,就要有個(gè)容器來裝載actionModel,又因?yàn)閍xtionModel是唯一值,所有這個(gè)容器就為 (Map集合);
2.? ?actionModel中添加forwordModel,用Map容器來裝載;
3.? ?在actionModel中還有屬性 path,type;
4.? ?在forwordModel中有屬性 name,path,redirect ;
接下來,根據(jù)這個(gè)步驟來建包,建立ActionModel,ConfigModel,ForwordModel三個(gè)包
1.ActionModel包
package com.yinzi.xml2;
import java.util.HashMap;
import java.util.Map;
public class ActionModel {
private String path;
private String type;
private Map<String, ForwordModel> fmap=new HashMap<String, ForwordModel>();
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
//將Forword往action里面放 壓棧
public void push(ForwordModel forwordmodel) {
fmap.put(forwordmodel.getName(), forwordmodel);
}
//將Forword從action里通過name值取出來
public ForwordModel pop(String name) {
return fmap.get(name);
}
}
2.ConfigModel包
package com.yinzi.xml2;
import java.util.HashMap;
import java.util.Map;
public class ConfigModel {
private Map<String , ActionModel> amap=new HashMap<String, ActionModel>();
//將Action往Config里面放 壓棧
public void push(ActionModel actionmodel) {
amap.put(actionmodel.getPath(), actionmodel);
}
//將Action從Config里通過path值取出來
public ActionModel pop(String path) {
return amap.get(path);
}
3.ForwordModel包
package com.yinzi.xml2;
public class ForwordModel {
private String name;
private String path;
private boolean redirect;
public ForwordModel() {
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
public boolean getRedirect() {
return redirect;
}
public void setRedirect(boolean redirect) {
this.redirect = redirect;
}
public ForwordModel(String name, String path, boolean redirect) {
super();
this.name = name;
this.path = path;
this.redirect = redirect;
}
@Override
public String toString() {
return "ForwordModel [name=" + name + ", path=" + path + ", redirect=" + redirect + "]";
}
}
建立完包后,這里我使用的是工廠模式,來建立一個(gè)包來獲取數(shù)據(jù)?就是解析
里面的參數(shù),就是將它變?yōu)閯?dòng)態(tài),想要獲取哪個(gè)文件的數(shù)據(jù),就寫入哪個(gè)文件,改括號(hào)的東西就可以了,這里是獲取了actionModel的數(shù)據(jù),要保證ForwordModel里面有東西
?然后數(shù)據(jù)的獲取到之后加入進(jìn)去就可以了,然后一般都會(huì)再寫一個(gè)無參的方法調(diào)用
?然后再ConfigModel里面拿取
文章來源:http://www.zghlxwxcb.cn/news/detail-540275.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-540275.html
到了這里,關(guān)于xml建模----詳細(xì)完整,易懂結(jié)合代碼分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!