目录
一.XML建模是什么
二.XML建模有什么作用???
三.XML建模的案例
以config.xml为例
一.XML建模是什么
将XML配置文件中的元素、属性、文本信息转换成对象的过程叫做XML建模
二.XML建模有什么作用???
XML是被设计用来存储数据、携带数据和交换数据的。XML不是为了显示数据而设计的,主要是用于交换数据,可以从HTML中分离数据,也可以用于存储数据,大量的数据可以存储到XML文件中或者数据库中,应用程序可以读写和存储数据,一般的程序可以显示数据。
三.XML建模的案例
以config.xml为例
以面向对象的思维来建模,来解析上方代码(先看标签,然后再看属性)步骤
1. 在configModel中添加actionModel,就要有个容器来装载actionModel,又因为axtionModel是唯一值,所有这个容器就为 (Map集合);
2. actionModel中添加forwordModel,用Map容器来装载;
3. 在actionModel中还有属性 path,type;
4. 在forwordModel中有属性 name,path,redirect ;
接下来,根据这个步骤来建包,建立ActionModel,ConfigModel,ForwordModel三个包
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 + "]";
}
}
建立完包后,这里我使用的是工厂模式,来建立一个包来获取数据 就是解析
里面的参数,就是将它变为动态,想要获取哪个文件的数据,就写入哪个文件,改括号的东西就可以了,这里是获取了actionModel的数据,要保证ForwordModel里面有东西
然后数据的获取到之后加入进去就可以了,然后一般都会再写一个无参的方法调用
然后再ConfigModel里面拿取