Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用e4X解析XML时出现问题&;Flex 3_Xml_Apache Flex_E4x - Fatal编程技术网

使用e4X解析XML时出现问题&;Flex 3

使用e4X解析XML时出现问题&;Flex 3,xml,apache-flex,e4x,Xml,Apache Flex,E4x,我很难使用e4X解析XML文件。我可以从“version”标记获取信息,但不能从任何嵌套标记获取信息 有人能指出我做错了什么吗 以下是XML: 1 2678 代码如下: <mx:HTTPService id="MyService" url="data.xml" result="resultHandler(event)" resultFormat="e4x"/> private function resultHandler(event:ResultEvent):void {

我很难使用e4X解析XML文件。我可以从“version”标记获取信息,但不能从任何嵌套标记获取信息

有人能指出我做错了什么吗

以下是XML:


1
2678
代码如下:

<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
}

私有函数resultHandler(事件:ResultEvent):void{
XMLData=event.result为XML;
var-ver:String=XMLData.*::version;//ver=1.0
变量id:String=XMLData.*::NameOfChild1.NameofChild2.GeneralData.Identifier;//空字符串
}

每个元素在默认名称空间中都有名称空间,因此您需要限定每个级别:

var id:String = XMLData.*::NameOfChild1.*::NameOfChild2.*::GeneralData.*::Identifier;
// or
var n:Namespace = XMLData.namespace();
var id:String = XMLData.n::NameOfChild.n::NameOfChild2.n::GeneralData.n::Identifier;
可以使用“默认xml命名空间”指令设置默认命名空间:

default xml namespace = new Namespace("http://www.theaddress.com/file");
var id:String = xml.NameOfChild1.NameOfChild2.GeneralData.Identifier;

如果孩子的名字是一个保留字,例如const,你可以使用较长的形式:parent.child(“const”)。请参阅actionscript XML对象的文档:
default xml namespace = new Namespace("http://www.theaddress.com/file");
var id:String = xml.NameOfChild1.NameOfChild2.GeneralData.Identifier;