使用xml2js解析XML文件,我需要检索名称中包含连字符的属性的值
<item cdr-id="1234">
<name>some text</name>
</item>
在我尝试检索cdr-id
时,我已经有一个指向item元素的变量item
。我已通过
console.log(item.name);
并返回预期值some text
。但是当我尝试
console.log(item.$.cdr-id);
我得到了完全合理的错误ReferenceError: id is not defined
(如果id
未被视为单独的令牌,我会更加惊讶。)
同样地,
console.log(item.$."cdr-id");
获取消息SyntaxError: Unexpected string
。
围绕它投掷JSON.stringify
console.log( JSON.stringify(item.$));
显示原始属性名称:{"cdr-id":"CDR0000040222"}
首先在名称中没有连字符只是将问题推到了路上。如果做不到这一点,看起来提供一个自定义的属性名称处理器是可行的方法,但这样做太过于聪明了#34;如果有人必须更新此代码,可能会产生混淆。
有更好的方法吗?
答案 0 :(得分:1)
喜欢
console.log(item.$["cdr-id"]);