读取xml文件并转换为自定义数组格式
function getXml(path) {
return new Promise(function (resolve, reject) {
$.ajax({
url: path,
dataType: 'xml',
type: 'GET',
timeout: 2000,
error: function (xml) {
alert("加载XML文件出错,请检查文件路径或xml文件格式");
},
success: function (xml) {
resolve(xml)
}
});
})
}
async function transform(filename){
var datas = [];
var xmlDocument = await getXml("../resource/" + filename);
var xmlfile = xmlDocument.firstChild;
cricle(xmlfile , datas);
return datas[0];
function cricle(label , arrays){
var ar = []
var arr = [];
if (0 !== label.children.length) {
ar.push(label.nodeName)
for (let i = 0; i < label.attributes.length; i++) {
ar.push(label.attributes[i].nodeValue)
}
arr.push(ar);
}else{
arr.push(label.nodeName)
for (let i = 0; i < label.attributes.length; i++) {
arr.push(label.attributes[i].nodeValue)
}
arr.push($(label).text())
}
arrays.push(arr)
for (let i = 0; i < label.children.length; i++) {
cricle(label.children[i] , arr)
}
}
}