我是新的actionscript 2.0,我想知道如何在迭代xml時讀取xml屬性的值。使用actionscript獲得xml屬性2.0
到目前爲止,我可以得到xml元素,但我無法解決此問題。
由於提前,
布賴恩
我是新的actionscript 2.0,我想知道如何在迭代xml時讀取xml屬性的值。使用actionscript獲得xml屬性2.0
到目前爲止,我可以得到xml元素,但我無法解決此問題。
由於提前,
布賴恩
好,任何元素節點的屬性attributes
......這簡直是與信息塞滿一個匿名的對象...
只是做someXML.attributes.someAttribute
,你會得到期望的值...
同樣,您可以查看我爲AS2製作的this little library,將部分e4x帶入AS2並簡化XML處理......儘管它不是所有的生產級別!
格爾茨
back2dos
坎,需要你的一些代碼,以解開這個謎,P否則,你會得到一些無聊的鏈接SDK文檔。但生病了,它是AS3代碼,我不知道xml是否從AS2-> AS3做了一些重大修改。但是,必須說它是一個非常好的體驗,可以在AS3中使用xml。
//current level number
public var mCurrentLevelNumber:Number = 0;
//read from file variables:
private var mLoader:URLLoader = new URLLoader();
private var mXML:XML;
//add a listener
mLoader.addEventListener(Event.COMPLETE, OnLoadXML, false, 0, true);
mLoader.load(new URLRequest("../assets/content.xml"));
....
/*
OnLoadXML
Parses the data from the file, loads one level
@e:Event
*/
private function OnLoadXML(e:Event):void{
var loadLevel:Array = new Array();
try{
//convert the text into an XML
mXML = new XML(e.target.data);
//trace("reading from .xml is done, values: ", mXML);
trace(" Name of the level: ", mXML.level[mCurrentLevelNumber].title.text());
for (var j:int=0; j<mXML.level[mCurrentLevelNumber].tiles.tilerow.length(); j++) {
trace("Row",j,", tiles:", mXML.level[mCurrentLevelNumber].tiles.tilerow[j].text());
}
//......
//}
}catch (e:TypeError){
trace("Could not parse the XML");
trace(e.message);
}
}
And the xml file structure;
<!-- pretty level arrays... -->
<levels>
<level>
<title>Level 1</title>
<tiles>
<tilerow>1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 6 1 1 1 3 1 13</tilerow>
<tilerow>1 0 0 0 0 0 0 0 0 0 0 0 10 12 0 9 0 0 0 0 0 0 0 0 1</tilerow>
<tilerow>1 0 0 0 0 1 0 0 0 0 0 0 10 11 11 11 12 0 6 1 0 0 0 0 1</tilerow>
<tilerow>1 9 1 0 0 1 0 0 0 0 0 0 10 12 0 9 0 0 6 0 0 0 0 0 1</tilerow>
</tiles>
</level>
</levels>
謝謝您的回答。 我會在下面介紹如何獲取xml元素的值。我不知道的是如何獲取每個元素的屬性。例如:
嗨, 非常感謝! – 2009-06-09 23:12:40