2010-08-12 60 views
3

因此,我有一個適用於我的AIR應用程序的基本應用程序描述符文件。它看起來像這樣,縮短了理智:如何從應用程序描述符文件中讀取版本

<?xml version="1.0" encoding="utf-8" standalone="no"?> 
<application xmlns="http://ns.adobe.com/air/application/2.0"> 
    <version>1.0.10</version> 
</application> 

現在我想在應用程序中顯示的版本,但我不希望有保持在多個地方版本,所以我怎麼能閱讀應用程序內的版本號?

回答

5

檢查下面的代碼:

  var appXml:XML = NativeApplication.nativeApplication.applicationDescriptor; 
      var ns:Namespace = appXml.namespace(); 
      trace(appXml.ns::version); 
+0

幹得好,先生! – invertedSpear 2010-08-12 21:26:29

6

這已經在空氣中的最新版本(AIR 3.x版)略有改變。而不是appXml.ns :: version,而是使用appXml.ns :: versionNumber。

注意appXml.ns :: VERSIONNUMBER是由一個單一的XML對象的XMLList,所以它需要一點挖的,如果你想獲得實際的字符串值:

var appXml:XML = NativeApplication.nativeApplication.applicationDescriptor; 
var ns:Namespace = appXml.namespace(); 
var appVersion:String = appXml.ns::versionNumber[0].toString(); 
trace("appVersion", appVersion); 

更新,三月2017年5月17日:在某個時候,他們再次更改了AIR的applicationDescriptor。以下代碼在AIR 23中工作:

var appXml:XML = NativeApplication.nativeApplication.applicationDescriptor; 
var ns:String = appXml.namespace().toString(); 
var nsArray:Array = ns.split("/"); 
var appVersion:Number = nsArray[nsArray.length - 1]; 
trace("appVersion:", appVersion); // appVersion: 23.0 
+0

我不敢相信花了一個多小時才弄清楚如何做到這一點。 Flash有其優點,但OMG。 Flash中的XML是一個噩夢。 – ericsoco 2014-07-25 05:55:44

+0

我也不敢相信Adobe的文檔在3年後會使用這個已棄用的版本作爲例子。 – 2017-01-30 12:08:00

相關問題