Luar's Flash Playground:[AS2] XML處理特別字符注意事項
新聞(101)
觀點或評論(94)
Flash書(63)
教程(73)
Design Patterns(3)
FlashCom筆記(47)
Flash Remoting筆記(27)
Flex筆記(11)
Flash Lite筆記(14)
PHP資訊(23)
Ajax筆記(9)
習作(51)
組件(17)
酷站(32)
學習資源(28)
書籍推介(15)
本站與我(91)
RSS瀏覽器
聯絡
熱愛鑽研
Ajax
ActionScript
Flash
Flash Lite
Flex
Flash Remoting
FlashCom
Director
Lingo
PHP
Multiplayer Game

搜尋
VCASMO
[AS2] XML處理特別字符注意事項 (19-05-2009)

平常用載入XML File再加以分析,通常只會用childNodes[n].toString()去提取數據,看似已經將數據轉成自己需要的String等格式,在一般情況下,沒有問題,但當遇上XML包含特別字符時,就會出錯,常見特別字符好像「', &, "」,以下是例子,假設載入XML File是:

<?xml version="1.0" encoding="UTF-8" ?>
<data>
  <sentence><![CDATA[Luar's "Friends" & Friends]]> </data>
ActionScript是:
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function() {
  var node:XMLNode = this.firstChild.childNodes[0];
  trace(node.childNodes[0]);
  trace(node.childNodes[0].toString());
  trace(node.childNodes[0].nodeValue);
};
xml.load("sample.xml");
trace出來結果:
Luar&apos;s &quot;Friends&quot; &amp; Friends
Luar&apos;s &quot;Friends&quot; &amp; Friends
Luar's "Friends" & Friends

所以最穩妥的做法,應該是用nodeValue去提取。


如果是用AS3和E4X,就沒有這問題:

var xml:XML = new XML();
var xmlFile:String = "sample.xml";
var urlReq:URLRequest = new URLRequest(xmlFile);
var urlLoader:URLLoader = new URLLoader(urlReq);
urlLoader.addEventListener("complete", xmlLoaded);
function xmlLoaded(event:Event):void {
  xml = XML(urlLoader.data);
  trace(xml.sentence.toString());
}
trace出來結果:
Luar's "Friends" & Friends

[下載本例子Fla]

本文章由發表。
意見
  • 奇怪字符的处理就是头疼啊。。

    由converter於21-05-2009發表

同組文章

Movable Type 4.32-en系統支持,Luar's Production版權所有。