Apache flex 无法指定给非参考值

Apache flex 无法指定给非参考值,apache-flex,e4x,xmllist,Apache Flex,E4x,Xmllist,我有一个奇怪的问题,我有一个包含属性位置从0到x的元素的XMLList。当我想通过以下语句向该XMLList的元素添加文本时,会收到一条错误消息: textElements.(@position == columnIndex) = "anyString"; 1050:无法指定给非参考值 这里怎么了 谢谢 Markus在处理XMLList时,您必须更具体一点。实际上,您必须告诉它您要更改列表中的哪一项,即使您将其筛选为仅1项。这应该可以为您做到: textElements.(@position=

我有一个奇怪的问题,我有一个包含属性位置从0到x的元素的XMLList。当我想通过以下语句向该XMLList的元素添加文本时,会收到一条错误消息:

textElements.(@position == columnIndex) = "anyString";
1050:无法指定给非参考值

这里怎么了

谢谢
Markus

在处理XMLList时,您必须更具体一点。实际上,您必须告诉它您要更改列表中的哪一项,即使您将其筛选为仅1项。这应该可以为您做到:

textElements.(@position==columnIndex)[0]= "anyString";

在处理XMLList时,您必须更具体一点。实际上,您必须告诉它您要更改列表中的哪一项,即使您将其筛选为仅1项。这应该可以为您做到:

textElements.(@position==columnIndex)[0]= "anyString";

invertedSpear在回答中使用[0]实际上并不是引用XMLList索引,而是指示要访问所选节点的子节点的位置。作比较

textElements.(@position==columnIndex).appendChild("anyString");
这将执行与invertedSpear的回答相同的操作,但将向所选节点添加子节点,而不是直接通过索引访问子节点。节点(如果存在)将始终在0处为子节点编制索引,在这种情况下,它引用节点本身的值

考虑以下几点:

var xml:XML = <root><node position="1" /><node position="2" /><node position="3" ><subnode>Test1</subnode><subnode>Test2</subnode></node></root>;

var c:XMLList = xml.children();
trace(c);

c.(@position == 1)[0] = "first test";
c.(@position == 2).appendChild("SECOND TEST");
c.(@position == 3)[1] = 'FINAL_test';

trace(c); 
trace(c[0][0]);

invertedSpear在回答中使用[0]实际上并不是引用XMLList索引,而是指示要访问所选节点的子节点的位置。作比较

textElements.(@position==columnIndex).appendChild("anyString");
这将执行与invertedSpear的回答相同的操作,但将向所选节点添加子节点,而不是直接通过索引访问子节点。节点(如果存在)将始终在0处为子节点编制索引,在这种情况下,它引用节点本身的值

考虑以下几点:

var xml:XML = <root><node position="1" /><node position="2" /><node position="3" ><subnode>Test1</subnode><subnode>Test2</subnode></node></root>;

var c:XMLList = xml.children();
trace(c);

c.(@position == 1)[0] = "first test";
c.(@position == 2).appendChild("SECOND TEST");
c.(@position == 3)[1] = 'FINAL_test';

trace(c); 
trace(c[0][0]);

谢谢!你的评论对我帮助很大!太好了!干杯Markus@Markus这是一个习惯,所以向上投票的有用的答案(点击向上箭头),并接受答案(检查绿色勾号),这对你帮助最大。非常感谢!你的评论对我帮助很大!太好了!干杯Markus@Markus这是一种习惯,因此可以向上投票(单击向上箭头)并接受对您帮助最大的答案(勾选绿色记号)。