您的位置:首页 > 其它

精通Flex 3.0――4.6.5 查找XML节点

2008-04-28 14:49 399 查看

  对XML内容进行操作时,查找XML节点是很重要的一个操作。在ActionScript 3.0中,提供了两种查找XML节点的方式:通过属性进行查找和通过节点内容进行能够查找。
使用属性进行查找时,可以直接指定查找的内容的表达式。如果节点符合表达式的判断,那么在返回值内加入节点。具体使用方法如下代码所示。
var flexXMLStr:String="<RIA>"
+"<FlashPlayer>"
+"<Flash version='9'>Flash CS3</Flash>"
+"<Flash version='8'>Flash 8</Flash>"
+"<Flash version='7'>Flash 2004MX</Flash>" +"<Flex>Flex3</Flex>"
+"</FlashPlayer>"
+"<Ajax>"
+"<GoogleAjax>GoogleAjax1.0</GoogleAjax>"
+"</Ajax>"
+"</RIA>";
var flexXML:XML=new XML(flexXMLStr);
trace(flexXML.FlashPlayer.Flash.(attribute('version')>7));
在上面代码中,flexXML1.FlashPlayer.Flash.(attribute('version')>7)通过指定查找version属性大于7的节点,并输出。上面代码输出结果如下所示。
<Flash version="9">Flash CS3</Flash>
<Flash version="8">Flash 8</Flash>
在进行查找时可以使用“==”、“>”、“<”、“>=”和“<=”等操作符进行对属性的判断。XML中,还提供一个hasOwnProperty判断节点中是否存在查找使用属性。查找表达式支持多条件布尔运算。使用方式如下代码所示。
var flexXMLStr:String="<RIA>"
+"<FlashPlayer>"
+"<Flash version='9'>Flash CS3</Flash>"
+"<Flash version='8' company=’adobe’>Flash 8</Flash>"
+"<Flash version='7' company=’macromeida’>Flash 2004MX</Flash>" +"<Flex>Flex3</Flex>"
+"</FlashPlayer>"
+"<Ajax>"
+"<GoogleAjax>GoogleAjax1.0</GoogleAjax>"
+"</Ajax>"
+"</RIA>";
var flexXML:XML=new XML(flexXMLStr);
trace(flexXML.FlashPlayer.Flash.( hasOwnProperty(“company”)&&@version>7));
//输出结果为<Flash version="8">Flash 8</Flash>
通过节点内容查找节点的方式与通过属性查找节点的方式完全一致。同样也是使用表达式的方式对节点内容进行判断查找。具体使用方式如下代码所示。
var flexXML:XML=
<RIA>
<FlashPlayer>
<Flash>
<Name>Flash CS3</Name><Version>9</Version>
</Flash>
<Flash>
<Name>Flash 8</Name><Version>8</Version>
</Flash>
<Flash>
<Name>Flash 2004MX</Name><Version>7</Version>
</Flash>
<Flex>Flex3</Flex>
</FlashPlayer>
</RIA>
trace(flexXML.FlashPlayer.Flash(Version>7)); //通过节点的值进行节点的查找
上面代码输出的结果如下所示。
<Flash>
<Name>Flash CS3</Name>
<Version>9</Version>
</Flash>
<Flash>
<Name>Flash 8</Name>
<Version>8</Version>
</Flash>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: