2013-12-16 79 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]); 
} 
相关问题