2013-12-16 56 views
0

希望有人能幫助我。E4X - 設置元素值,其中屬性等於

我有和看起來像這樣的XML文檔。

<root> 
    <items> 
    <item id='data1' itemType = 'integer'></item> 
    <item id='data2' itemType = 'character'></item> 
    <item id='data3' itemType = 'decimal'></item> 
    <item id='data4' itemType = 'boolean'></item> 
    </items> 
</root> 

和一個看起來像這樣的數據對象。

var dataObj = {}; 
dataObj.item1 = 10; 
dataObj.item2 = "hello world"; 
dataObj.item3 = 10.23; 
dataObj.item4 = true; 
dataObj.item5 = new Date(); 

我所試圖做的是通過數據對象進行迭代,並與數據對象值,其中元素的id屬性等於dataObj項目設置相應的XML元素。

這是我到目前爲止嘗試過的。

for (var data in dataObj) 
{ 
    xml.items.item.(@id = data) = dataObj[data]; 
} 

但我得到這個錯誤:

rhinojavascript.JavascriptExecutionHandler$RhinoScriptException: Invalid assignment left-hand side

回答

1

好,我已經想通了這麼認爲我會離開的情況下,任何人的答案都會碰到同樣的問題。

看來如果你想設置節點本身的值,你必須使用setChildren方法(不是很直觀)。

所以我需要改變的代碼如下:

for (var data in dataObj) 
{ 
    xml.items.item.(@id == data).setChildren(dataObj[data]); 
} 
相關問題