xml文件如下:
代码如下:
<mvc>
<action name="user/select" class="com.cloud.mvc.controller.UserController" method="select">
<result name="success">/WEB-INF/view/index.jsp</result>
<result name="faild">/index.jsp</result>
</action>
<action name="user/select" class="com.cloud.mvc.controller.UserController" method="select">
<result name="success">/WEB-INF/view/index.jsp</result>
<result name="faild">/index.jsp</result>
</action>
</mvc>
代码如下:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
import com.thoughtworks.xstream.annotations.XStreamConverter;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import com.thoughtworks.xstream.converters.extended.ToAttributedValueConverter;
import com.thoughtworks.xstream.io.xml.DomDriver;
@XStreamAlias("mvc")
class MVC {
@XStreamImplicit()
@XStreamAlias("action")
private List<Action> actionlist;
public List<Action> getActionlist() {
return actionlist;
}
public void setActionlist(List<Action> actionlist) {
this.actionlist = actionlist;
}
}
@XStreamAlias("action")
class Action {
@XStreamAsAttribute()
@XStreamAlias("name")
private String name;
@XStreamAsAttribute()
@XStreamAlias("class")
private String classname;
@XStreamAsAttribute()
@XStreamAlias("method")
private String method;
@XStreamImplicit
@XStreamAlias("result")
private List<Result> rlist;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassname() {
return classname;
}
public void setClassname(String classname) {
this.classname = classname;
}
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public List<Result> getRlist() {
return rlist;
}
public void setRlist(List<Result> rlist) {
this.rlist = rlist;
}
}
@XStreamAlias("result")
@XStreamConverter(value = ToAttributedValueConverter.class, strings = { "value" })
class Result {
@XStreamAsAttribute()
private String name;
private String value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
public class GetList {
public static void main(String args[]) throws IOException{
Class cls=MVC.class;
String xmlStr="";
File f=new File("D:"+File.separator+"test.xml");
BufferedReader reader = null;
reader = new BufferedReader(new FileReader(f));
String tempString = null;
int line = 1;
while ((tempString = reader.readLine()) != null) {
tempString=tempString.trim();
xmlStr=xmlStr+tempString;
line++;
}
reader.close();
System.out.println(xmlStr);
XStream xstream = new XStream(new DomDriver());
xstream.processAnnotations(cls);
MVC mvc=(MVC)xstream.fromXML(xmlStr);
for(int i=0;i<mvc.getActionlist().size();i++){
Action action=mvc.getActionlist().get(i);
System.out.println(action.getClassname()+","+action.getName()+","+action.getMethod());
for(int j=0;j<action.getRlist().size();j++){
Result r=action.getRlist().get(j);
System.out.println(r.getName()+","+r.getValue());
}
}
}
}