我不是编码专家,所以需要你的帮助。
我有一个XML文件作为字符串变量存储在代码中显示的$(xml)
变量中。
我能够解析这个XML文件并逐行提取数据,但问题是提取的数据在两个值之间没有空间。
另外,我希望这些提取的数据以表格格式 5x5 。使用JavaScript / jQuery
由于
var xmlString = $(xml).find("table_cell_value1,table_cell_value2,table_cell_value3,table_cell_value4,table_cell_value5").text();
答案 0 :(得分:0)
好了,现在,一步一步..首先你的xml格式,它应该是以下格式(它已经是我猜):
<root>
<asset>
<name></name>
...
</asset>
<asset>
<name></name>
...
</asset>
</root>
在我的解决方案中,我创建了这样的XML:
var xml = "";
xml+= '<?xml version= "1.0" encoding="UTF-8"?>';
xml+= '<root>';
xml += '<asset>';
var index1 = "111";
xml += '<name>'+index1+'';
xml += '</name>';
var index2 = '111';
xml += '<company>'+index2+'';
xml += '</company>';
var index3 = '111'
xml += '<country>'+index3+'';
xml += '</country>';
var index4 = '111'
xml += '<fname>'+index4+'';
xml += '</fname>';
var index5 = '111';
xml += '<lname>'+index5+'';
xml += '</lname>';
xml += '</asset>';
xml += '<asset>';
var index1 = "222";
xml += '<name>'+index1+'';
xml += '</name>';
var index2 = '222';
xml += '<company>'+index2+'';
xml += '</company>';
var index3 = '222'
xml += '<country>'+index3+'';
xml += '</country>';
var index4 = '222'
xml += '<fname>'+index4+'';
xml += '</fname>';
var index5 = '222';
xml += '<lname>'+index5+'';
xml += '</lname>';
xml += '</asset>';
xml+= '</root>';
所以它有两个记录,111,111,111,111,111和222,222,222,222,222。
接下来是XML Parser,它将为您解析此XML并填充表。我使用过DOMParser。
外部循环将持续到资产标签(您的记录)的长度,然后在该循环中我创建行并将它们添加到表中...
for(var i=0; i<xmlDoc.getElementsByTagName("asset").length; i++) {
html += '<tr><td>' + xmlDoc.getElementsByTagName("asset")[i].childNodes[0].innerHTML + '</td><td>' + xmlDoc.getElementsByTagName("asset")[i].childNodes[1].innerHTML + '</td><td>' + xmlDoc.getElementsByTagName("asset")[i].childNodes[2].innerHTML + '</td><td>' + xmlDoc.getElementsByTagName("asset")[i].childNodes[3].innerHTML + '</td><td>' + xmlDoc.getElementsByTagName("asset")[i].childNodes[4].innerHTML + '</td></tr>';
//row construction ends here
$('#tb tr:last').after(html); //adding row to the table.
html = ""; //emptying this string after one row has been added to avoid multiple rows to be added in next iteration
}
上面的循环将运行2次(因为我的xml有2条记录)并将逐行填充表格,第一行:111,111,111,111,111和第二行:222,222 ,222,222,222。
<强> See the working DEMO here 强>
如果您有任何疑惑,请随时提出。