XPathAPI.selectSingleNode

主要是四个方法: 

mx.xpath.XPathAPI.selectNodeList(node:XMLNode, path:String):Array 

mx.xpath.XPathAPI.selectSingleNode(node:XMLNode, path:String):node:XMLNode

 mx.xpath.XPathAPI.setNodeValue(node:XMLNode, path:String, newValue:String):Number

mx.xpath.XPathAPI.getEvalString( node:XMLNode, path:String):String  

参数说明: 第一个参数:node为XMLNode类型, 就是将要解析的xml节点啦;

 第二个参数:path为字符串路径, 就是相对于node节点开始往下的节点名称;

 (第三个函数中的newValue为String就没什么好说的啦)。  

下面是使用例子,新建一个fla文件,在第一帧把代码写上测试看效果吧!fla文件第一帧的代码: 

importmx.xpath.XPathAPI;  

vararr=newArray() 

varmy_xml:XML=newXML();  

my_xml.ignoreWhite=true;  

my_xml.load("xml.xml");  

my_xml.onLoad=function(success){  //将根节点下的所有节点列表解析到arr数组中; 

arr=mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/lists/list"); 

 trace("节点数组:\n"+arr);  

race("---------------------------\n");  

 //输出数组列表中第一个节点下的第一个节点的值(即aa的值);  

//与下面的语句等同:trace("节点aa的值为:\n"+mx.xpath.XPathAPI.selectSingleNode(arr[0],"/list/aa").firstChild.nodeValue); 

 trace("节点aa的值为:\n"+mx.xpath.XPathAPI.selectSingleNode(arr[0],"/list").childNodes[0].firstChild.nodeValue);  trace("---------------------------\n");   //输出数组列表中第一个节点的url属性的值;  

trace("第一个list节点的url属性值:\n"+mx.xpath.XPathAPI.selectSingleNode(arr[0],"/list").attributes.url); 

trace("---------------------------\n");   //输出节点aa处在arr[0]节点的相对位置的字符串值;  

trace("aa在根节点对应下来的位置信息:\n"+mx.xpath.XPathAPI.getEvalString(arr[0],"/list/aa"));  trace("---------------------------\n");  //;  

trace("更新节点aa的值并返回节点更新的数目:"+mx.xpath.XPathAPI.setNodeValue(arr[0],"/list/aa","thisisnewvalue"));  

trace("节点aa的新值为:\n"+mx.xpath.XPathAPI.selectSingleNode(arr[0],"/list/aa").firstChild.nodeValue); 

trace("---------------------------");  }; xml.xml 的内容: <?xmlversion="1.0"encoding="utf-8"?> 

 <lists>  <listurl="music/大家笑哈哈-阿桑.mp3"lrc="">  

<aa>aaaaaa</aa>  

<bb>bbb</bb>  

</list>  

<listurl="music/呵責.mp3"lrc="">22222</list>  

<listurl="music/忙打哟.mp3"lrc="">33333</list>  

<listurl="music/小宝贝我要亲晕你.mp3"lrc="">44444</list>  

</lists>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值