熱門文章

Ⓒegret.XML & egret.XMLNode & egret.XMLText 用法

game.xml(請放在resource/config/game.xml)

<?xml version="1.0" encoding="utf-8" ?>
<game>
    <name>Edwin Game</name>
    <stage width="100" height="100"></stage>
</game>

解析xml

var request = new egret.HttpRequest();
request.responseType = egret.HttpResponseType.TEXT; // 回傳類型為文字
request.addEventListener(egret.Event.COMPLETE, (e) => {
    var request = e.currentTarget;
    let source:string = request.response;
    let game:egret.XML = egret.XML.parse(source);
    egret.log(game.name, game.nodeType); // game 1
    let gameName = game.children[0];
    let nameText:egret.XMLText = gameName.children[0];
    egret.log(gameName.name,gameName.nodeType); // name 1
    egret.log(nameText.nodeType, nameText.text); // 3 "Edwin Game"
    let gameStage = game.children[1];
    egret.log(gameStage.name, gameStage.nodeType); // stage 1
    egret.log(gameStage.attributes); // {width: "100", height: "100"}
    egret.log(parseInt(gameStage.attributes.width), parseInt(gameStage.attributes.height)); // 100 100
    // xml 讀進的數值是字串, 請使用 parseInt 或 parseFloat 將自傳轉成數值
    // nodeType 節點類型,1:XML,2:XMLAttribute,3:XMLText (官方沒有實作 XMLAttribute)
}, this);
request.open('resource/config/game.xml', egret.HttpMethod.GET); 
request.send();

沒有留言:

張貼留言