使用 XML 命名空間Flash Player 9 以及更新的版本,Adobe AIR 1.0 以及更新的版本 XML 物件 (或文件) 中的命名空間可以辨識該物件所包含的資料類型。例如,將 XML 資料發送或遞送至使用 SOAP 訊息通訊協定的網路服務時,您必須在 XML 的開始標籤中宣告命名空間: var message:XML = <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <soap:Body xmlns:w="http://www.test.com/weather/"> <w:getWeatherResponse> <w:tempurature >78</w:tempurature> </w:getWeatherResponse> </soap:Body> </soap:Envelope>; 這個命名空間具有 soap 前置詞以及定義此命名空間的 URI http://schemas.xmlsoap.org/soap/envelope/。 ActionScript 3.0 包含 Namespace 類別,可用來使用 XML 命名空間。對於先前範例中的 XML 物件,您可以依照下列方式使用 Namespace 類別: var soapNS:Namespace = message.namespace("soap"); trace(soapNS); // Output: http://schemas.xmlsoap.org/soap/envelope/ var wNS:Namespace = new Namespace("w", "http://www.test.com/weather/"); message.addNamespace(wNS); var encodingStyle:XMLList = message.@soapNS::encodingStyle; var body:XMLList = message.soapNS::Body; message.soapNS::Body.wNS::GetWeatherResponse.wNS::tempurature = "78"; XML 類別包含下列方法,可用來使用命名空間:addNamespace()、inScopeNamespaces()、localName()、name()、namespace()、namespaceDeclarations()、removeNamespace()、setLocalName()、setName() 和 setNamespace()。 default xml namespace 指令可讓您為 XML 物件指定預設的命名空間。例如下列程式碼中,x1 和 x2 都有相同的預設命名空間: var ns1:Namespace = new Namespace("http://www.example.com/namespaces/"); default xml namespace = ns1; var x1:XML = <test1 />; var x2:XML = <test2 />; |
|