Använda XML-namnutrymmenFlash Player 9 och senare, Adobe AIR 1.0 och senare Namnutrymmen i XML-objekt (eller dokument) används för att identifiera de data som finns i objektet. Om du till exempel skickar och levererar XML-data till en webbtjänst där meddelandeprotokollet SOAP används, ska du deklarera namnutrymmet i starttaggen i XML enligt följande: 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>; Namnutrymmet har ett prefix, soap och ett URI som definierar namnutrymmet, http://schemas.xmlsoap.org/soap/envelope/. I ActionScript 3.0 finns klassen Namespace som används för att arbeta med XML-namnutrymmen. I XML-objektet i det föregående exemplet använder du klassen Namespace på följande sätt: 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"; Klassen XML innehåller följande metoder för att arbeta med namnutrymmen: addNamespace(), inScopeNamespaces(), localName(), name(), namespace(), namespaceDeclarations(), removeNamespace(), setLocalName(), setName() och setNamespace(). Med default xml namespace kan du tilldela ett standardnamnutrymme för XML-objekt. I nästa exempel har både x1 och x2 samma standardnamnutrymme: var ns1:Namespace = new Namespace("http://www.example.com/namespaces/"); default xml namespace = ns1; var x1:XML = <test1 />; var x2:XML = <test2 />; |
![]() |