XMLの名前空間
Posted on 6 月 22nd, 2008 by kude
ActionScript3でXMLを解析するときのメモ。
外部のXMLを読み込んで目的のノードにアクセスする際に、”employees.employee.name” のようにドットオペレータとノード名でアクセスできなくて「どうしてだろう・・・?」と悩んだ。
結論から言うと、XMLに xmlns が指定されていることが原因だった。
xmlnsが指定されると、XMLの名前空間がそれになるらしい。
名前空間が異なるので、ノード名でアクセスできなかったというわけ。
で、どうすればいいかというと、
var xml:XML = new XML(xmlLoader.data);
default xml namespace = rssXML.namespace("");
...XML解析...
default xml namespace = null;
として、デフォルトの名前空間をXMLのそれに設定すればOK。
解析が終わったら名前空間を戻しておく。
Filed under: Flash/AIR



