标签: e4x

E4X:在表达式中使用字符串作为属性名称?

我有一个有这行的功能:

var returnString:String = items[0].@month;
Run Code Online (Sandbox Code Playgroud)

@month是XML节点上的一个属性,如下所示:

<xmlnode month="JAN"/>
Run Code Online (Sandbox Code Playgroud)

好的,但是我需要抽象属性名称,这样我就可以将一个字符串传递给函数,并获取属性的内容,其名称与我传递的字符串相匹配.所以例如,如果我像这个函数("stone")一样调用函数,它返回项[0].@ stone.我希望这很清楚.

有谁知道我该怎么做?

谢谢.

apache-flex e4x actionscript-3

2
推荐指数
1
解决办法
886
查看次数

E4X:分配给根节点

我在这里使用Adobe Flex/Air,但据我所知,这适用于所有JavaScript.我曾经遇到过这个问题几次,那里必须有一个简单的解决方案!

假设我有以下XML(使用e4x):

var xml:XML = <root><example>foo</example></root>
Run Code Online (Sandbox Code Playgroud)

我可以使用以下代码更改示例节点的内容:

xml.example = "bar";
Run Code Online (Sandbox Code Playgroud)

但是,如果我有这个:

var xml:XML = <root>foo</root>
Run Code Online (Sandbox Code Playgroud)

如何更改根节点的内容?

xml = "bar";
Run Code Online (Sandbox Code Playgroud)

显然不起作用,因为我试图将字符串分配给XML对象.

javascript apache-flex air e4x

1
推荐指数
1
解决办法
2259
查看次数

E4X条件调用没有返回只有1个匹配的东西?

好的,这是我的代码:

var xml:XML = 
<xml>
    <typeA amount1="500" amount2="300" amount3="250" date="2008-02-17"/>
    <typeA amount1="500" amount2="300" amount3="250" date="2008-02-16"/>
    <typeA amount1="500" amount2="300" amount3="250" date="2008-02-17"/>
    <typeB amount1="500" amount2="300" amount3="250" date="2008-02-18"/>
    <typeB amount1="500" amount2="300" amount3="250" date="2008-02-19"/>
    <typeC amount1="500" amount2="300" amount3="250" date="2008-02-20"/>
    <typeC amount1="500" amount2="300" amount3="250" date="2008-02-21"/>
    <typeC amount1="500" amount2="300" amount3="250" date="2008-02-20"/>
</xml>;


trace(xml.typeA.(@date == "2008-02-16")); // no results
trace(xml.typeA.(@date == "2008-02-17")); // finds both
trace(xml.typeC.(@date == "2008-02-20")); // finds both
trace(xml.typeC.(@date == "2008-02-21")); // no results
Run Code Online (Sandbox Code Playgroud)

似乎只有在发现超过1时才发现它.

难道我做错了什么?

xml e4x actionscript-3

1
推荐指数
1
解决办法
257
查看次数

Actionscript 3 E4X使用XML中的命名空间值

我正在使用Action脚本3构建应用程序我正在从Web检索一些XML但是节点名称是mms:图像mms:结果等我的动作脚本编译器抛出错误因为它不期望在节点中看到半冒号名称.如何访问节点?

谢谢

xml e4x namespaces actionscript-3

1
推荐指数
1
解决办法
2098
查看次数

XML标记中的保留字

<node>left</node>
<class></class>
<et>16,471</et>
Run Code Online (Sandbox Code Playgroud)

当我得到标签时class,我看到错误1084,因为class是保留字

vars["class1"] = result.item[0].class;
Run Code Online (Sandbox Code Playgroud)

xml apache-flex flash e4x actionscript-3

1
推荐指数
1
解决办法
890
查看次数

在AS3中使用E4X重命名XML节点

我在AS3中有一个XML对象,格式如下:

<data>
  <nodes>
    <item></item>
    <item></item>
    ...
  </nodes>
  <nodes>
    <item></item>
    <item></item>
    ...
  </nodes>
  ...
</data>
Run Code Online (Sandbox Code Playgroud)

我的问题是我想将节点名称("节点"和"项目")重命名为更相关的东西,例如" 节点 "可以是" 作者 ",而" 项目 "可以是" ".

那么在AS3中使用E4X的最佳方法是什么?

xml e4x actionscript-3

0
推荐指数
1
解决办法
2890
查看次数

XML属性解析为XMLList

在下面的代码块中,如果我调试并查看它显示为XMLList的var obj.theID.即使代码跟踪正确,我觉得它应该是一个字符串而不是XMLList.

所以我的问题是如何让它分配字符串而不是XMLList?

var myXML:XML = new XML(
<panels>
  <panel id="1"/>
  <panel id="2"/>
  <panel id="3"/>
</panels>
);

var panels:XMLList = new XMLList( myXML.children());

trace( panels.length()); // is as expected
for each( var panel:XML in (new XMLList( myXML.children())) ){
    var obj:Object = new Object( );

    // XMLList is assigned here but why? and how can I make it a string?
    obj.theID = panel.@id;

    // id is traced as expected but apparently it is just converting the XMLlist to a string.
    trace( …
Run Code Online (Sandbox Code Playgroud)

apache-flex flash e4x actionscript-3 flash-cs4

0
推荐指数
1
解决办法
5555
查看次数