在javascript循环中,我生成xml
,如下所示:
for (m = 0; m < t.length; m++) {
var arr1 = t[m].split("\t");
s = "'<row dc= '" + arr1[0] + "' al='" + arr1[1] + "' msg='" + arr1[2] + "' />'";
alert(s);
//s = s.join(' ');
}
忘记t
变量和所有变量。通过运行此代码,我得到以下格式的s值:
<row dc = "abc" al="56" msg="dkaj" />
在第二次迭代中,它显示如下:
<row dc = "abwwc" al="56w" msg="dkajad" />
依此类推,直至m<t.length
满足。我希望在每次迭代中加入列表。加入所有这些后,我应该这样:
<row dc = "abc" al="56" msg="dkaj" /><row dc = "abwwc" al="56w" msg="dkajad" /> and so on..
我尝试用评论部分写的联接来做,但不适合我。我做错了什么?
答案 0 :(得分:2)
最好的方法是在循环外定义一个附加到它的字符串;
var v = '';
for (m = 0; m < t.length; m++) {
var arr1 = t[m].split("\t");
s = "'<row dc= '" + arr1[0] + "' al='" + arr1[1] + "' msg='" + arr1[2] + "' />'";
alert(s);
v += s;
}
alert(v);
如果您仍想使用join()
,请在其上添加v
数组和push()
元素(请注意join()
是数组方法,而不是字符串)
var y = [];
for (m = 0; m < t.length; m++) {
var arr1 = t[m].split("\t");
s = "'<row dc= '" + arr1[0] + "' al='" + arr1[1] + "' msg='" + arr1[2] + "' />'";
alert(s);
y.push(s);
}
alert(y.join(''));
您会很高兴看到我在我的示例中尝试遵循您的变量命名约定(即无意义的字符)。