标签: e4x

为什么E4X已被弃用并从某些浏览器中删除?

为什么E4X已被弃用并从某些浏览器中删除?

警告:E4X是obselete.默认情况下,它在Firefox 17中被禁用,并在Firefox 21中被完全删除.请使用DOMParser/DOMSerializer或非本机JXON算法.

https://developer.mozilla.org/en-US/docs/Archive/Web/E4X/Processing_XML_with_E4X

xml firefox e4x

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

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

E4X:抓住带名称空间的节点?

我想学习如何在E4X中使用命名空间处理XML,所以基本上这就是我想要学习的内容,比如我有一些像这样的XML:

<rdf:RDF 
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/">
    <rdf:item value="5"/>
    <item value="10"/>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)

我如何分配<rdf:item/>一个名为rdfItems<item/>的var 和一个名为regItems的var ?

谢谢!

xml apache-flex e4x namespaces actionscript-3

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

E4X可以根据任何级别的孩子的属性获取父节点的属性吗?

考虑这个带有"节点"的XML片段,它可以具有无限子级别的"子节点"元素.

我想找到@type的属性,node对于任何给定subnode的基础上,它的@id属性.例如,如果我的id为9,那么我想从上面返回type ="foo".

<xml>
    <node type="bar">
        <subnode id="4">
            <subnode id="5"/>
        </subnode>  
        <subnode id="6"/>
    </node>
    <node type="foo">
        <subnode id="7">
            <subnode id="8">
                <subnode id="9"/>
            </subnode>
        </subnode>
        <subnode id="10"/>
    </node>
</xml>
Run Code Online (Sandbox Code Playgroud)

我想出了E4X,但失败的是:

xml.node.(subnode.(@id == '8')).@type 
Run Code Online (Sandbox Code Playgroud)

我可以理解为什么它不起作用.更有意义的是以下但语法失败(在AS3中):

xml.node.(..subnode.(@id == '8')).@type
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?

apache-flex e4x actionscript-3

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

如何在Flex中检查XMLList是否为空

如果我在Flex中有一个XMLList对象,检查列表是否为空的正确方法是什么?我应该只是比较结果myList.length() > 0,myList.toString() != ""还是尝试另一种方法?

xml apache-flex e4x actionscript-3

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

以编程方式启用/禁用Flex 4中的menuBar按钮

我的Flex4(AIR)项目中有以下XML,用于定义菜单界面的开头:

<mx:MenuBar x="0" y="0" width="100%" id="myMenuBar" labelField="@label" itemClick="menuChange(event)">
    <mx:dataProvider>
    <s:XMLListCollection>
    <fx:XMLList xmlns="">
        <menu label="File">
            <item label="New"/>
            <item label="Load"/>
            <item label="Save" enabled="false"/>
        </menu>
        <menu label="Help">
            <item label="About"/>
        </menu>
    </fx:XMLList>
    </s:XMLListCollection>
    </mx:dataProvider>
</mx:MenuBar>
Run Code Online (Sandbox Code Playgroud)

我试图找到一个语法,让我在单击"加载"加载文件后将保存按钮设置为enabled = true,但是我无法弄清楚语法,有人可以提出建议.

目前检测按钮的方式是通过Switch/Case测试MenuEvent event.item.@ label的String结果.也许这不是最好的方法?

e4x mxml menubar flex4

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

在应用程序启动/初始化之前,在flex中加载xml文件

我有一个配置xml文件,我需要在flex应用程序之前解析值.

我创建了一个静态类,允许检索xml配置文件中的值.

我正在应用程序第一次加载时初始化此类,但是当xml文件加载了一个Loader类,该类同步加载该类时,在实际加载xml文件之前会要求该类 - 因此它会抛出错误.

有没有办法同步加载这个xml文件或任何人都建议解决这个问题?我们无法将文件作为类变量嵌入,因为我们需要能够远程更改值.

xml apache-flex flash e4x actionscript-3

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

使用e4X和Flex 3解析XML的问题

我正在使用e4X难以解析XML文件.我可以从'version'标签中获取信息,但我不能从任何嵌套标签中获取信息.

有人可以指出我做错了什么吗?

这是XML:

<NameOfRoot xmlns="http://www.theaddress.com/file">
    <version>1.0</version>
    <NameOfChild1>
        <NameOfChild2>
            <GeneralData>
                <Identifier>2678</Identifier>
            </GeneralData>
        </NameOfChild2>
    </NameOfChild1>
</NameOfRoot>
Run Code Online (Sandbox Code Playgroud)

这是代码:

<mx:HTTPService id="MyService" url="data.xml" result="resultHandler(event)" resultFormat="e4x"/>

private function resultHandler(event:ResultEvent):void {

    XMLData = event.result as XML;

    var ver:String = XMLData.*::version; // ver = 1.0
    var id:String = XMLData.*::NameOfChild1.NameofChild2.GeneralData.Identifier; //empty string
}
Run Code Online (Sandbox Code Playgroud)

xml apache-flex e4x

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

找出AS3的XMLList是否包含字符串作为节点值

是否有一个与Array.indexOf等效的XMLList?

例如 -

var array:Array = ['one','two'];
trace(array.indexOf('two')); // returns 1, since it's at the second position
trace(array.indexOf('three')); // returns -1, since it isn't found
Run Code Online (Sandbox Code Playgroud)

... 对?但如果我有这个怎么办 -

var xml:XML = <list><item>one</item><item>two</item><list>
var xmlList:XMLList = list.item;
Run Code Online (Sandbox Code Playgroud)

必须有一种更简单的方法来检查XMLList中的一个节点是否具有特定值而不是循环遍历所有节点,对吧?类似于 -

xmlList.indexOfChildByNodeValue('two'); // returns 1, because it's the second child
xmlList.indexOfChildByNodeValue('three'); // returns -1, because it doesn't match any children
Run Code Online (Sandbox Code Playgroud)

合理?

xml flash e4x indexof actionscript-3

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

Flex 4:具有条件的XML文字

有没有办法在Flex中执行类似以下(伪代码)的操作:

var x:XML = <xml>
  if(condition){
    <tag>hello</tag>
  }
</xml>;
Run Code Online (Sandbox Code Playgroud)

这将返回<xml><tag>hello</tag></xml>如果条件是真实的和<xml></xml>(或<xml/>)如果条件是假的?

附加说明:我知道如何追加孩子等等.我正在寻找一种方法来在文字表达中做到这一点.

apache-flex air e4x actionscript-3

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

标签 统计

e4x ×10

actionscript-3 ×7

xml ×7

apache-flex ×6

flash ×2

air ×1

firefox ×1

flex4 ×1

indexof ×1

menubar ×1

mxml ×1

namespaces ×1