1、问题描述
获取了XML文档的数据之后,通过parameter参数判断是查询所有数据,还是个别数据。这遇到的问题就是遇到重复的代码。问,如何压缩代码?提高运行效率?
//获取返回的XML文档数据内容
var XMLCont = xhr.responseXML.documentElement;
//获取标签名为people的所有节点
var users = XMLCont.getElementsByTagName("people");
//定义变量
var user,name,sex,age,str="";
//如果是查询所有数据
if(parameter == "all"){
for(var i=0;i<users.length;i++){
user = users[i];
name = user.getElementsByTagName("name")[0].childNodes[0].nodeValue;;
sex = user.getElementsByTagName("sex")[0].childNodes[0].nodeValue;
age = user.getElementsByTagName("age")[0].childNodes[0].nodeValue;
str += "姓名:" + name + " 性别:" + sex + " 年龄:" + age + "<br />";
}
}else{
//如果是查询指定数据
for(var i=0;i<users.length;i++){
//判断遍历的数据是否满足条件
if(users[i].getElementsByTagName("name")[0].childNodes[0].nodeValue == parameter){
user = users[i];
name = user.getElementsByTagName("name")[0].childNodes[0].nodeValue;
sex = user.getElementsByTagName("sex")[0].childNodes[0].nodeValue;
age = user.getElementsByTagName("age")[0].childNodes[0].nodeValue;
str += "姓名:" + name + " 性别:" + sex + " 年龄:" + age + "<br />";
break;
}
}
}
我有想过将重复的内容封装到一个函数中,然后调用,初次之外还有什么方法呢?(我也会去百度其他的一些方法,但是还是希望各位大佬能够针对我这个问题给出不同的方案,小弟在此谢过了)
这个方法就很好了,