将xml处理为json对象数组
Posted jimmy.wang123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将xml处理为json对象数组相关的知识,希望对你有一定的参考价值。
function xmlStr2js(xmlStr) {
var tagNames = xmlStr.match(/<\w+>/g)
tagNames = deWeightTagNames(tagNames)
var jsonObj = new Object()
tagNames.forEach(function(tn) {
var _tn = tn.slice(1, -1)
var tnlen = tn.length
var reg = new RegExp("(" + tn + "((?!" + tn.replace(‘<‘, ‘<\/‘) + ").)*" + tn.replace(‘<‘, ‘<\/‘) + "|" + tn.replace(‘>‘, ‘/>‘) + ")", "g")
var fullTag = xmlStr.match(reg)
var valueArr = fullTag ? fullTag.map(function(ft) {
return ft.slice(-2) === "/>" ? "" : ft.slice(tnlen, -(tnlen + 1))
}) : null
jsonObj[_tn] = valueArr
})
return jsonObj
}
function deWeightTagNames(tagNames) {
var len = tagNames.length
var _tns = []
for (var i = 0; i < len; i++) {
_tns.indexOf(tagNames[i]) === -1 && _tns.push(tagNames[i])
}
return _tns
}
以上是关于将xml处理为json对象数组的主要内容,如果未能解决你的问题,请参考以下文章