将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对象数组的主要内容,如果未能解决你的问题,请参考以下文章

XML 到 JSON 或数组? PHP

XSLT 3.0 - 无法在 XSLT 3.0 xml-to-json() 中获取对象数组

将 javascript 数组发布为 JSON 对象数组

JSON与XML对比MIMEJSON对象JSON数组

PHP JSON 或数组到 XML

当 XML SOAP 响应中存在单个元素时,JSON 对象而不是数组