如何在JavaScript中将XML转换为二维数组并适配DataTable
问题:将XML转换为JavaScript二维数组以适配DataTable分页
我需要把XML转换成JavaScript二维数组并存储到变量中,用DataTable实现分页功能,但DataTable不接受直接通过JavaScript生成的表格。根据论坛指引,必须将XML转换为二维数组才能正常使用。
我的XML文件内容
<person> <data> <name>juan</name> <city>tokyo</city> <age>20</age> <sex>m</sex> </data> <data> <name>pedro</name> <city>manila</city> <age>22</age> <sex>m</sex> </data> <data> <name>maria</name> <city>bangkok</city> <age>23</age> <sex>f</sex> </data> </person>
目标二维数组格式
var person =[ ["juan","tokyo","20","m"], ["pedro","manila","22","m"], ["maria","bangkok","23","f"], ];
我之前写的JavaScript代码能在页面上显示结果,但无法适配DataTable;尝试返回数组而非通过innerHTML生成内容也没用。最终我用jQuery的AJAX实现了需求,代码如下:
$(document).ready(function () { $.ajax({ type: "GET", url: "person.xml", dataType: "xml", success: function (xml) { const res = []; $(xml).find("person > data").each(function (i, person) { res.push([ $(this).find("name", person).text(), $(this).find("city", person).text(), $(this).find("age", person).text(), $(this).find("sex", person).text(), ]); }); $("#person_table").DataTable({ data: res, columns: [ { title: "Name" }, { title: "Address" }, { title: "Age" }, { title: "Sex." }, ], }); }, }); });
内容的提问来源于stack exchange,提问作者randomnamesksksk
相关产品推荐
相关产品推荐

