如何从应用程序描述符文件中读取版本
因此,我有一个适用于我的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>
现在我想在应用程序中显示的版本,但我不希望有保持在多个地方版本,所以我怎么能阅读应用程序内的版本号?
检查下面的代码:
var appXml:XML = NativeApplication.nativeApplication.applicationDescriptor;
var ns:Namespace = appXml.namespace();
trace(appXml.ns::version);
这已经在空气中的最新版本(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
我不敢相信花了一个多小时才弄清楚如何做到这一点。 Flash有其优点,但OMG。 Flash中的XML是一个噩梦。 – ericsoco 2014-07-25 05:55:44
我也不敢相信Adobe的文档在3年后会使用这个已弃用的版本作为例子。 – 2017-01-30 12:08:00
干得好,先生! – invertedSpear 2010-08-12 21:26:29