`

Flex中处理带命名空间的XML

 
阅读更多

对包含自定义命名空间的XML 进行分析是比较困难的, 它要求该命名空间一定要在任何XML 返回前被申明, 同时要在该命名空间内进行分析。比如对于以下的一个xml:

test.xml

  1. <?xmlversion="1.0"?>
  2. <soap:Envelope
  3. xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
  4. soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
  5. <soap:Bodyxmlns:m="http://www.example.org/stock">
  6. <m:PriceResult>
  7. <m:Price>34.5</m:Price>
  8. </m:PriceResult>
  9. </soap:Body>
  10. </soap:Envelope>

在Applicaiton中如下:

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"xmlns:local="*">
  3. <mx:Script>
  4. <!--[CDATA[
  5. importmx.rpc.events.ResultEvent;
  6. //loadthexml
  7. privatefunctionloadXML():void
  8. {
  9. https.send();
  10. }
  11. privatefunctiondoResult(evt:ResultEvent):void
  12. {
  13. varxml:XML=evt.resultasXML;
  14. //这样可以取得正确结果
  15. namespacew3c="http://www.w3.org/2001/12/soap-envelope";
  16. usenamespacew3c;
  17. namespacem="http://www.example.org/stock";
  18. usenamespacem;
  19. lbl.text=xml.w3c::Body.m::PriceResult.m::Price;
  20. //这样取不到正确结果
  21. //lbl.text=xml.Body.PriceResult.Price;
  22. }
  23. ]]-->
  24. </mx:Script>
  25. <mx:Buttonx="297"y="289"label="Button"click="loadXML()"/>
  26. <mx:HTTPServiceid="https"url="test.xml"result="doResult(event)"resultFormat="e4x"/>
  27. <mx:Labelx="212"y="198"text="显示结果:"/>
  28. <mx:Labelx="291"y="198"width="132"id="lbl"/>
  29. </mx:Application>

注意代码中:

  1. namespacew3c="http://www.w3.org/2001/12/soap-envelope";
  2. namespacew3c;
  3. namespacem="http://www.example.org/stock";
  4. namespacem;

如果没有这些代码的话是不能得到正确结果的,大家可以测试以下,新建一个工程,然后把以上代码copy过去就可以了。在Flex3CookBook中有提到这个问题

分享到:
评论

相关推荐

    FLEX从入门到精通.pdf

     5.3 FlexBuilder3中的新内容  5.3.1 新向导  5.3.2 设训,模式的增强  5.3.3 开发功能的增强  5.3.4 CS3套件的整合  5.4 本章小结 第Ⅱ部分 使用FIex3开发应用程序  第6章 使用FIexBuilder3  6.1 ...

    Flex新手教程_入门级学习笔记

    1.2包与命名空间 Package and NameSpace 1 1.3构造方法Constructor 2 1.4变量和值 Variable 2 1.5赋值 2 1.6 AS数据类型 3 1.7数据类型转换 3 1.8实例方法,实例变量和静态方法,静态变量 4 1.9接口 Interface 4 1.10...

    flex3的cookbook书籍完整版dpf(包含目录)

    如何处理XML服务里所返回的命名空间 19.8节. 将ActionScript 数据对象编码成XML 19.9节. 使用复杂XML数据来填充组件 19.10节. 从Web服务中把XML译码成为强类型对象 第二十章与浏览器通信(628) 20.1节连接到外部URL ...

    gsoap 2.8 (SOAP/XML 关于C/C++ 语言的自动化实现工具内附 CSharp webservice例子,及GSOAP client和server例子)

     ×因为只需要很少内存空间,所以可以运行在类似Palm OS, Symbian, Pocket PC的小型设备中。  ×适用于以C或C++开发的web服务中。  ×跨平台:Windows, Unix, Linux, Mac OS X, Pocket PC, Palm OS, Symbian等。 ...

    puremvc-as3-util-flex-deploymentconfig:PureMVC AS3 Flex实用程序

    XML命名空间用于表示多个部署环境的相同值。 开发人员根据和相应的IConfigVO(通常通过子类化ConfigVO)创建XML配置文件。 您将成员添加到具体的IConfigVO中,这些成员公开了XML配置文件中所选部署名称空间中的值...

    ActionScript开发人员指南中文版

    使用XML命名空间 XML类型转换 读取外部XML文档 在ActionScript中使用XML的示例:从Internet加载RSS数据 第章:使用本机JSON功能 JSONAPI概述 定义自定义JSON行为 第章:处理事件 事件处理基础知识 ActionScript事件...

    asp.net知识库

    在 SQL Server 2005 中使用表值函数来实现空间数据库 SQL Server 2005的30个最重要特点 同时安装sql2000和sql2005的经验 类如何与界面绑定 在Asp.net中如何用SQLDMO来获取SQL Server中的对象信息 使用Relations建立...

    ActionScript开发技术大全

    13.3.4处理命名空间 294 13.4网络图片加载器示例 295 13.5小结 298 第14章正则表达式与字符串匹配 299 14.1正则表达式概述 299 14.2正则表达式语法 300 14.2.1创建对象 300 14.2.2字符、元字符与元序列 301 14.2.3...

    c调用java源码-csflex:名为JFlex的词法分析器工具的C#端口。产生Java或C#源代码文件,以扫描输入流并产生一系列令牌。与CU

    我不知道mono的构建工具是否支持资源的嵌入(可以通过System.Resources命名空间中的Assembly.GetManifestResourceStream和ResXResourceReader类进行访问)。 如果不是这样,则不能在mono下构建代码,但是如果是,则...

    Spring攻略(第二版 中文高清版).part2

    5.6 处理视图中的安全性 196 5.6.1 问题 196 5.6.2 解决方案 196 5.6.3 工作原理 196 5.7 处理领域对象安全性 198 5.7.1 问题 198 5.7.2 解决方案 198 5.7.3 工作原理 199 5.8 小结 208 第6章 ...

    Spring攻略(第二版 中文高清版).part1

    5.6 处理视图中的安全性 196 5.6.1 问题 196 5.6.2 解决方案 196 5.6.3 工作原理 196 5.7 处理领域对象安全性 198 5.7.1 问题 198 5.7.2 解决方案 198 5.7.3 工作原理 199 5.8 小结 208 第6章 ...

    WAP 无线应用协议

    2.4.3 URL 命名 21 2.4.4 WAE的组成 22 2.4.5 WML和WMLScript交换 26 2.4.6 国际化 28 2.4.7 安全和接入控制 28 2.5 WTA体系结构概述 28 2.5.1 WTA 框架的组成部分 29 2.5.2 特定的电话交换 30 2.6 术语定义 31 2.7 ...

Global site tag (gtag.js) - Google Analytics