我正在尝试将XML
转换为JSON
并遇到以下功能。但是我需要即时修改一些内容。因此,我想将此函数转换为if / else语句或循环。
你能帮我吗?
function xmlToJson(xmlNode) {
return {
text: xmlNode.firstChild && xmlNode.firstChild.nodeType === 3 ?
xmlNode.firstChild.textContent : '',
children: [...xmlNode.children].map(childNode => xmlToJson(childNode))
};
}
答案 0 :(得分:0)
假设xmlNode.children
是一个数组,则可以执行以下操作:
function xmlToJson(xmlNode)
{
let obj = {};
if (xmlNode.firstChild && xmlNode.firstChild.nodeType === 3)
{
obj.text = xmlNode.firstChild.textContent;
}
else
{
obj.children = [];
for (let i = 0; i < xmlNode.children.length; ++i)
{
obj.children.push(xmlToJson(xmlNode.children[i]));
}
}
return obj;
}