Flash CS3 文档 |
|||
| ActionScript 3.0 编程 > 处理 XML > 使用 XML 命名空间 | |||
XML 对象(或文档)中的命名空间用于标识对象所包含的数据的类型。例如,在将 XML 数据发送和提交给使用 SOAP 消息传递协议的 Web 服务时,您要在 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 包含用于处理 XML 命名空间的命名空间类。对于上一示例中的 XML 对象,可按如下方式使用命名空间类:
var soapNS:Namespace = message.namespace("soap");
trace(soapNS); // 输出: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 />;
Flash CS3
当前页: http://livedocs.adobe.com/flash/9.0_cn/main/00000130.html