如何在 Javascript 中将 String 转换为 key/value pair(map)

How to convert String into key/value pair(map) in Javascript

我正在尝试将只是 xml 数据格式的简单字符串转换为 key/value 对。

input :-> str ='<name>xyz</name>'

output :-> {name : 'xyz'}

下面是 myFunction,但它没有显示确切的结果

let str = '<name>xyz</name>'

function myFunction(str) {

    let map ={}
    let key 
    let value

    str = str.split(/[.:;?!~,`"&|()<>{}[\]\r\n/\]+/)

    str = _.compact(str)
    key = ??
    value = ??

 return map    

}

基本上 <> 中的任何内容都是关键,并且在结束标记之间 output.I 这里缺乏正确的逻辑。任何帮助将不胜感激:-)

匹配第一个 <> 之间的任何内容以匹配键,并将第一个 > 和第二个 < 之间的任何内容匹配到值,然后进行其中的一个对象:

const str = '<name>xyz</name>';
const [,key,val] = str.match(/<([^>]+)>([^<]+)</);
const obj = { [key]: val };
console.log(obj);