|
将文本字符串转换为XML对象 我们可以使用new构造方法从字符串创建一个XML对象
var x:XML = new XML(’<a>test<b>’);
但是如果我们试图将一个非XML或者结构不完整的字符串转换为XML对象,那么将会报运行时错误:
var x:XML = new XML(’<a>test’); // Throws an error
从Internet读取Rss Fead数据 以下代码将读取本站的rss fead数据:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.macromedia.com/2005/mxml" xmlns="*" creationComplete="doInit()"> <mx:Script> <![CDATA[ private function doInit():Void{ getRssData("http://blog.eshangrao.com/rss.php",ta_view); } public function getRssData(url:String, outTxt:TextArea):Void { private var myXMLURL:URLRequest = new URLRequest(url); private var myLoader:URLLoader = new URLLoader(myXMLURL); myLoader.addEventListener("complete", xmlLoaded); } private function xmlLoaded(event:Event):Void{ ta_view.text=’load ok’; var myLoader:URLLoader = URLLoader(event.target); XML.ignoreProcessingInstructions=false; var myXML:XML =new XML(myLoader.data); private var outStr:String = ""; for each (var item:XML in myXML.children()) { if(item.localName()==’item’){ outStr += "<p><b>" + item.children()0.toString() + ":</b></p><p>"; outStr += item.children()6.toString() ; outStr += " <br/><a href=’" + item.children()1.toString(); outStr += "’><font color=’#008000’>More...</font></a></p>"; } } //ta_view.text=myXML.toString(); ta_view.htmlText = outStr; } ]]> </mx:Script> <mx:Canvas width="100%" height="100%"> <mx:TextArea id="ta_view"> <mx:layoutConstraints> <mx:EdgeAnchor bottom="10" top="10" left="10" right="10"/> </mx:layoutConstraints> </mx:TextArea> </mx:Canvas> </mx:Application>
运行示例(FlashPlayer8.5 required) 注意,我们没有直接使用节点名称访问节点(不知道为什么,如果使用item.title访问title节点的话,返回是空的,可能跟我的RSS XML的中rdf指令有关,如果有朋友知道解决的办法,请告诉我),而是使用了children()方法,该方法返回某一XML对象的所有子节点对象 上一页 [1] [2] [3] [4] |