Flex :HTTPService處理XML檔案的兩種方法, Asp產生Xml的方法,以及Flex定義變數、賦值的運用。。。。

來源:互聯網
上載者:User

//********************** 定義url及參數為變數,動態傳值。。。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" 
            initialize="myHTTPData.send();trace('calling service');">
<mx:Script>
<![CDATA[
var myURL:String="http://www.bpurcell.org/blog/rss.cfm";
var mode:String="short";
var mode2:String="cat";
var catid="14";
]]>
</mx:Script>
<!-- If you set resultFormat to Object it turns the returning data into an object -->
<mx:HTTPService url="{myURL}" id="myHTTPData" method="GET" resultFormat="object">
  <mx:request>
  <mode>{mode}</mode>
  <mode2>{mode2}</mode2>
  <catid>{catid}</catid>
</mx:request> 
</mx:HTTPService>
<mx:TextArea text="{myHTTPData.result.RDF.channel.title}" width="250" />
<mx:TextArea text="{myHTTPData.result.RDF.item[0].description}" 
             width="250" height="200" />
<mx:TextArea text="{myHTTPData.result}" width="250" height="500" />
</mx:Application>

 

方法二:使用XMLLIST輸出完整XML資料 輸出資料屬性為XML <?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" 
xmlns:mx="library://ns.adobe.com/flex/halo"
width="1024" height="768" backgroundColor="#020202" creationComplete="menus.send()">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;

[Bindable]
private var roomsXml:XML;

[Bindable]
private var menuInfo:XMLList;
protected function httpservice1_resultHandler(event:ResultEvent):void
{
roomsXml=new XML(event.result);
menuInfo=roomsXml.node;
trace(menuInfo);
/////輸出資料為:
<node name="客廳空間" url="space1.xml"/>
<node name="廚房空間" url="space1.xml"/>
<node name="臥室空間" url="space1.xml"/>
<node name="餐廳空間" url="space1.xml"/>
<node name="浴室空間" url="space1.xml"/>
<node name="兒童房" url="space1.xml"/>
<node name="其他空間" url="space1.xml"/>
trace(menuInfo[0].@name);
/////輸出資料為:客廳空間
}
]]>
</fx:Script>
<fx:Declarations>
<mx:HTTPService id="menus" resultFormat="xml" url="dataAsset/rooms.xml"     result="httpservice1_resultHandler(event)"/>    ////重點:要輸出XML資料類型一定要設定resultFormat="xml"
</fx:Declarations>
</s:Application> HTTPService處理XML檔案ConnAsp.mxml

代碼: <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="productsRequest.send()">
    <mx:HTTPService id="productsRequest" url="http://localhost/FlexAsp_1.asp" />
    <mx:DataGrid x="20" y="80" id="productGrid" width="400" dataProvider="{productsRequest.lastResult.guestbook.guests}" >
        <mx:columns>
        <mx:DataGridColumn headerText="Name" dataField="Name" />
        <mx:DataGridColumn headerText="Message" dataField="Message" />
        </mx:columns>
    </mx:DataGrid>
</mx:Application>
  Asp產生Xml的方法 FlexAsp_1.asp <%
response.ContentType = "text/xml"
response.Charset="utf-8"
set conn=Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0;"
conn.open server.mappath("./flash_asp/Database.mdb")
sql="select Name,Message from guestbook"
set rs=Conn.Execute(sql)
rs.MoveFirst()
response.write("<?xml version='1.0' encoding='utf-8'?>")
response.write("<guestbook>")
while (not rs.EOF)
response.write("<guest>")
response.write("<Name>" & rs("Name") & "</Name>")
response.write("<Message>" & rs("Message") & "</Message>")
response.write("</guest>")
rs.MoveNext()
wend
rs.close()
conn.close()
response.write("</guestbook>")
%>

access資料庫
資料庫名稱 database.mdb
表名稱:guestbook
欄位:ID,Name,Message

xml單獨顯示正常,Flex裡的DataGrid不顯示資料,why答:dataProvider="{productsRequest.lastResult.guestbook.guest}"

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.