簡體   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