作者nckumfc (You guess)
看板Flash
標題Re: [問題] XML檔案取Node的値
時間Mon Mar 28 18:28:34 2011
恕刪
抱歉!! 今天清晨,我提出來的問題完全是我弄錯了,睡醒後再重新弄一次,發現我提的
問題是不存在的,完全搞錯Orz,真的很抱歉。
我先貼我flash的程式碼
var myLoader:URLLoader = new URLLoader();
myLoader.load(new
URLRequest("Test_XML.aspx?ran="+randRange(0,9999)));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
跟之前的
http://IP/Test_XML.aspx?ran=6731寫法ㄧ樣 IP代表網址
flash會呼叫下面的Test_XML.aspx的程式碼產生XML,但是trace(old_xml)的是空的,
但是Visual studio 在debug模式下有看到flash 呼叫該網頁,並產生XML資料,
可是為什麼flash沒收到Test_XML.aspx產生的XML資料?
old_xml = new XML(myLoader.data);
再來是Test_XML.aspx的程式碼 (產生XML)
XmlTextWriter writer =
new XmlTextWriter(Response.OutputStream, System.Text.Encoding.UTF8);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
我也有將此處改成寫入檔案,確實也有產生檔案。
writer.WriteStartDocument();
writer.WriteStartElement("Node");
//Node的內容是要給Flash使用的
writer.WriteStartElement("NodeInformation");
//存入使用者ID
writer.WriteElementString("UesrID", usi.UserID);
//給錄音檔案一個檔案名稱
writer.WriteElementString("Time",
DateTime.Now.ToString("yyyyMMddHHmmssffff"));
//使用者點選哪一個NodeID
writer.WriteElementString("NodeID",
Session["NodeID"].ToString());
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Flush();
writer.Close();
我的作法是參考別人給我的程式碼,只是他是用AS 2.0,我的是AS 3.0 ,
還是作業系統也會有差,他的OS 是 XP, 我的OS 是 Server 2003 。
現在真的毫無頭緒,希望S大能給我ㄧ下建議,謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.177.53
1F:→ eroticpig:load()以後,要偵聽外部資料載入的的進度。 03/28 18:48
2F:推 KawasumiMai:加入監聽才呼叫把data轉給xml吧 03/28 19:43
3F:→ nckumfc:可以說詳細一點嗎? 不是很懂 03/28 21:06
4F:推 KawasumiMai:myLoader.load(...............) 之後 03/28 21:20
5F:→ KawasumiMai:myLoader.addEventListener(Event.COMPLETE,func) 03/28 21:20
6F:→ KawasumiMai:function func(event:Event){ 03/28 21:21
7F:→ KawasumiMai: old_xml = new XML(myLoader.data) 03/28 21:21
8F:→ KawasumiMai: ... 03/28 21:21
9F:→ KawasumiMai:} 03/28 21:22
10F:→ nckumfc:我試試 03/28 21:22
11F:→ nckumfc:還是取得null的値 我貼我寫的,麻煩大家幫我看ㄧ下 03/28 22:05
12F:→ nckumfc:myLoader = new URLLoader(); 03/28 22:05
13F:→ nckumfc:myLoader.load(new URLRequest("Test_XML.aspx?ran="+rand 03/28 22:06
14F:→ nckumfc:Range(0,9999))); 03/28 22:06
15F:→ nckumfc:myLoader.addEventListener(Event.COMPLETE, xmlLoaded); 03/28 22:06
16F:→ nckumfc:function xmlLoaded(e:Event){ 03/28 22:07
17F:→ nckumfc:old_xml=new XML(e.target.data); 03/28 22:07
18F:→ nckumfc:UserID = old_xml.NodeInformation.UesrID; 03/28 22:07
19F:→ nckumfc: Time = old_xml.NodeInformation.Time; 03/28 22:07
20F:→ nckumfc:NodeID = old_xml.NodeInformation.NodeID; 03/28 22:07
21F:→ nckumfc:} 03/28 22:08
22F:推 KawasumiMai:是new XML(myLoader.data)吧 03/28 22:22
23F:→ KawasumiMai:e是Event本身,你抓他的data應該不是xml啊 03/28 22:23
24F:→ nckumfc:改成old_xml = new XML(myLoader.data); 還是取不到値 Orz 03/28 22:34
25F:推 scars:所以你是在哪裡取他的值? 別說是在xmlLoaded外面喔 03/29 00:02
26F:推 scars:你直接用我 9277 回的那些code trace出來還是null的話 03/29 00:06
27F:→ scars:表示你的url連過去沒東西 03/29 00:06
28F:→ nckumfc:是在function xmlLoaded(e:Event)裡面取値 03/29 00:44
29F:→ nckumfc:trace 出來還是null,我不懂為什麼flash載入Test_xml.aspx 03/29 00:46
30F:→ nckumfc:Visual studio 在Debug模式下,有看到此頁面在產生XML的 03/29 00:47
31F:→ nckumfc:資料串流,看起來flash沒有收到XML的資料串流,難道AS 2.0 03/29 00:51
32F:→ nckumfc:的可以,AS 3.0 不能用這個的方式嗎? 03/29 00:52
33F:推 scars:你在瀏覽器可以開那個aspx嗎 swf跟aspx同路徑? 03/29 13:42
34F:→ nckumfc:瀏覽器可以開,swf與aspx放在同一個資料夾下 03/30 01:03
35F:→ nckumfc:到底有什麼是我沒注意到的 03/30 01:04