0

在代码中的某处我已经贴花变量:

[Bindable]
var nameWin:String = "";

在此之后我有一个 e4x 声明

podContent.xml_m = xml_m.item.(nameWin=="necessary name");

这应该将项目的 namewin 与“必要名称”进行比较,并仅返回 nameWin 与“必要名称”匹配的项目。

xml_m.项目:

  <item>
    <nameWin>necessary name</nameWin>
    <nameCol>Брутто-премия начисленная</nameCol>
    <date>2009 Май</date>
    <summa>259267.7976</summa>
  </item>
  <item>
    <nameWin>unnecessary name</nameWin>
    <nameCol>Брутто-премия начисленная</nameCol>
    <date>2010 Апрель</date>
    <summa>104.3254</summa>
  </item>
  <item>
    <nameWin>necessary name</nameWin>
    <nameCol>Брутто-премия начисленная</nameCol>
    <date>2010 Май</date>
    <summa>21.5174</summa>
  </item>

如果我在声明 xml-child 中使用与 nameWin 不同的语句(例如 summa),则效果很好。但是对于 nameWin,e4x 将局部变量 nameWin(此时我根本不感兴趣)与“必要名称”进行比较,而不是将项目的 nameWin 与“必要名称”进行比较。

有任何想法吗?库的版本可以是原因吗?

4

2 回答 2

1

尝试这个:

podContent.xml_m = xml_m.item.(elements("nameWin")[0]=="necessary name");
于 2010-05-19T03:28:42.053 回答
0

E4X 在这种情况下按设计工作,因为可以在这些括号中评估任何 actionscript 语句。考虑到您的情况,您可以重命名变量或使用我认为如下的属性方法:

podContent.xml_m = xml_m.item.attribute("nameWin")=="necessary name";

我的语法可能有点偏离,但这与您想要的非常接近。

于 2010-05-18T15:35:13.747 回答