0
使用xml2js解析XML文件,我需要檢索的屬性包含在其名稱xml2js,屬性名稱包含連字符
<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"}
在首位的名字
由於沒有連字符只是踢問題的道路一點。如果不這樣做,看起來提供一個自定義屬性名稱處理器是要走的路,但是如果任何人必須更新此代碼,那麼這種「太聰明」可能會導致混淆。
有沒有更好的方法來做到這一點?
這奏效了。謝謝。我真的不想重寫屬性名稱。 – ThatBlairGuy 2014-10-06 18:05:24
@ThatBlairGuy:沒問題:) – mithunsatheesh 2014-10-06 18:06:47