当前位置: 代码迷 >> 交互式开发 >> flash读取xml的有关问题
  详细解决方案

flash读取xml的有关问题

热度:2639   发布时间:2013-02-26 00:00:00.0
flash读取xml的问题
flash读取后台生成的xml时,有时候会出现读不出来数据的情况,可是查看对应的xml文件,里面明明是有数据的。
如果把ie的历史记录清一下的话,再次操作flash显示就又出来了。请问这是什么原因?有什么解决的方法?

用的是SWFObject,代码:
var so = new SWFObject("Status/StatusQuery/line/amline/amline.swf", "amline", "820", "400", "8", "#FFFFFF");
  so.addVariable("path", "Status/StatusQuery/line/amline/");
  so.addVariable("settings_file", escape("Status/StatusQuery/line/amline/settings_cpu.xml"));
  so.addVariable("data_file", escape("Status/StatusQuery/line/amline/data_cpu.xml"));
  so.addVariable("preloader_color", "#999999");
  so.write("div_cpu");

------解决方案--------------------------------------------------------
使有和XMLload方法获取XML文件试试:
从指定的 URL 中加载 XML 文档,并使用下载的 XML 数据替换指定 XML 对象的内容。该 URL 是相对 URL,并使用 HTTP 进行调用。加载过程是异步的;它不会在执行 load() 方法后立即结束。

Assembly code
// Create a new XML object.var flooring:XML = new XML();// Set the ignoreWhite property to true (default value is false).flooring.ignoreWhite = true;// After loading is complete, trace the XML object.flooring.onLoad = function(success) {trace(flooring);};// Load the XML into the flooring object.flooring.load("flooring.xml");
------解决方案--------------------------------------------------------
既然与缓存有关系,那你在页面去缓存呀。

在html里加<META HTTP-EQUIV="nocache" CONTENT="no-cache">
------解决方案--------------------------------------------------------
flash读取XML中的内容
写一个叫aaa.xml的XML文件 ^_^ 
<?xml version="1.0" encoding="UTF-8"?> 
<book> 
<book1 ip="sco01" url="www.163.com"> 
<z1 name="第一章" content="做人"> 
<j1 name="第一节"> 
我要做个好人,请help help我,hohoho^_^ ! 
</j1> 
<j2 name="第二节"> 
但我还是想做回坏人哦:) 呱呱呱~~ 
</j2> 
</z1> 
<z2 name="第二章" content="吃人"> 
<j1 name="第一节"> 
现在的老虎是不会吃人的~~ 
</j1> 
<j2 mane="第二节"> 
现在的小羊连骨头也不放过55555 
</j2> 
<j3 name="第三节"> 
<h1 name="第一回"> 
做人有要厚道,要多学学我:) 
</h1> 
</j3> 
</z2> 
</book1> 
<book2 ip="sco02" url="www.21cn.com"> 
<z1 name="第一章" content="科目"> 
<j1 name="第一节"> 
调理农务系 
</j1> 
</z1> 
</book2> 
</book> 
第二个就是flash文件了,(aaa.fla)J 就在第一贴里写就可以的了hohoho 

myXML = new XML();
myXML.load("aaa.xml");
myXML.ignoreWhite = true;
myXML.onLoad = function(success) {
if (success) {
//-------------------------------读取每节中的内容-------------------------------------------------------

//trace(myXML.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0]);
//返回 我要做个好人,请help help我,hohoho^_^ ! 

//trace(myXML. FirstChild.childNodes[0].childNodes[0].childNodes[0].childNodes[0].nodeValue);
//返回 我要做个好人,请help help我,hohoho^_^ ! (注:第一第二个是相同作用的J)

//trace(myXML.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0]);
//返回 但我还是想做回坏人哦:) 呱呱呱~~ 

//trace(myXML.childNodes[0].childNodes[0].childNodes[1].childNodes[0].childNodes[0]);
//返回 现在的老虎是不会吃人的~~ 

//trace(myXML.childNodes[0].childNodes[0].childNodes[1].childNodes[1].childNodes[0]);
//返回 现在的小羊连骨头也不放过55555 
  相关解决方案