精通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>
使用属性进行查找时,可以直接指定查找的内容的表达式。如果节点符合表达式的判断,那么在返回值内加入节点。具体使用方法如下代码所示。
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>
相关文章推荐
- 精通Flex 3.0――4.6.6 遍历XML节点
- 精通Flex 3.0――4.6.2 通过XML对象构建XML内容
- 精通Flex 3.0――4.6.3 访问XML子节点
- FLEX中查找XML节点
- [ActionScript 3.0] 根据xml属性查找相应xml节点,递归函数。
- Flex中查找XML节点
- 精通Flex 3.0――4.6.4 访问XML属性
- 精通Flex 3.0――4.3.5 字符串查找
- 精通Flex 3.0――4.6.7 XML的类型转换
- Flex中Xml快速查找节点
- 精通Flex 3.0——4.6 使用操作XML相关的类
- 精通Flex 3.0――4.6.1 创建XML对象
- C#中对 XML节点进行添加,删除,查找和删除操作
- .net 处理xml 查找节点 属性 添加节点
- dom4j的xpath查找xml的指定节点
- javascrpt DOMDocument查找xml指定节点实现程序
- 精通Flex 3.0――14.5.4 Message服务的配置
- Flex中如何通过给openItems属性设置一个XMLList或Array对象来打开Tree的一个节点的例子
- 精通Flex 3.0――4.3.1 创建字符串——String类
- 精通Flex 3.0――4.3.8 其他对象转换为String