繁体   English   中英

xml2js,属性名称包含连字符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM