|
1.為了與xml文件的編碼保持一致,要記得用System.useCodepage 屬性,這樣就不容易出現(xiàn)亂碼問(wèn)題。 2.如果xml內(nèi)容不是標(biāo)準(zhǔn)的,例如是用字符串拼湊起來(lái)的,帶有回車(chē),換行等符號(hào),最好用XML.ignoreWhite 屬性,否則flash里的xml解析器會(huì)把這些符號(hào)當(dāng)成是xml的結(jié)點(diǎn)。 3.在flash里,xml里的結(jié)點(diǎn)值會(huì)被當(dāng)成一個(gè)結(jié)點(diǎn)來(lái)看帶。要找當(dāng)前結(jié)點(diǎn)之后,才能用nodeValue獲取結(jié)點(diǎn)值會(huì)。 4.flash 的AS2.0不夠完善,用它解析xml,就不能像javascript那樣方便,例如javascript里可以用getElementById, getElementsByTagName等方法來(lái)查詢結(jié)點(diǎn),AS2.0則要麻煩了,需要用循環(huán)遍歷結(jié)點(diǎn),從中找到相應(yīng)的內(nèi)容。 5.獲取外部xml數(shù)據(jù),特別是外域xml數(shù)據(jù),要注意安全沙箱問(wèn)題,里面有許多訪問(wèn)權(quán)限問(wèn)題需要注意。 6.如果flash讀取的XML文件如果體積過(guò)大,可能出現(xiàn)較長(zhǎng)等待時(shí)間,用以下方法可以實(shí)現(xiàn)進(jìn)度監(jiān)聽(tīng): var fileXML = "abc.xml"; //XML進(jìn)度監(jiān)聽(tīng) function checkXMLProcess(xmlObj) { var xLoaded = xmlObj.getBytesLoaded(); var xTotal = xmlObj.getBytesTotal(); xLoaded = (xLoaded == 0 || xLoaded == undefined) ? 1 : xLoaded; xTotal = (xTotal == undefined) ? 999999 : xTotal; var xPercent = Math.floor(100*(xLoaded/xTotal)); //trace(xPercent); } //XML調(diào)用 myXML.load(fileXML); var xInterval = setInterval(checkXMLProcess, 100, myXML); myXML.onLoad = function(success) { if (success) { clearInterval(xInterval); //your actions } |
|
|
來(lái)自: ShangShujie > 《rich client》