在AS3中使用String作为E4X表达式?

时间:2009-07-31 17:40:40

标签: regex actionscript-3 string e4x

我需要使用字符串来使用E4X访问XML中的节点和属性。这个场景(已加载XML)是理想的:

var myXML:XML = e.target.data;

var myStr:String = "appContent.bodyText.(@name == 'My Text')";

myXML.myStr = "New Value for bodyText node where attribute('name') is equal to 'My Text'";

我最终需要使用字符串作为E4X表达式为XML文档设置新值。

1 个答案:

答案 0 :(得分:0)

如上所述:

  

我想出了一个解决方法

  • 获取您要定位的E4X路径的字符串

  • 拉出E4X路径并将其与目标路径进行比较

  • 如果两者相等,请使用该节点/属性执行操作

  

这是一个黑客攻击,但它确实有效。您甚至可以解析XML并使用目标字符串和目标节点填充数组,然后您可以通过数组中的项访问它。这在很多方面都是可扩展的。只要设置好所有垃圾,你就可以了。