[英]xml2js, attribute name contains a hyphen
使用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"}
首先,在名称中不使用连字符只会使问题进一步解决。 失败的话,提供自定义属性名称处理器似乎是必经之路,但是如果有人必须更新此代码,就会显得“太聪明”而容易产生混乱。
有一个更好的方法吗?
喜欢
console.log(item.$["cdr-id"]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.