【发布时间】:2009-03-23 13:43:55
【问题描述】:
在我的 Flex 应用程序中,我调用了几个返回 XML 的 .NET WebService。但是,这些 Web 服务都返回带有命名空间的 XML。如果不引用命名空间,我就无法读取/解析 XML,这意味着我必须在每个调用 WebService 的类中包含以下代码行:
private namespace PCRWebServices = "xxx.somename.web.services";
use namespace PCRWebServices;
我想消除这种静态/硬编码逻辑的需要,只需从 WebService 读取 XML。
有没有办法从 XML 中“删除”命名空间,以便我可以将其作为“普通”XML 文档读取?
我为每个处理结果和错误的 WebService 调用扩展了一个类:
private function faultHandler(event:FaultEvent):void
{
}
private function resultHandler(event:ResultEvent):void
{
var resultXML:XML = new XML(event.result);
}
我想在结果处理程序中添加一些逻辑来“转换”XML。有什么想法吗?
这是trace(resultXML) 返回的内容:
<GetDataResult xmlns="xxx.somename.web.services">
<DataSet>
<Data>
<IdNmb>15</IdNmb>
<NameTxt>Hello</NameTxt>
</Data>
<Data>
<IdNmb>16</IdNmb>
<NameTxt>World</NameTxt>
</Data>
<Status>
<Status>Success</Status>
</Status>
<ReturnCode>
<ReturnCode>0</ReturnCode>
</ReturnCode>
</DataSet>
</GetDataResult>
【问题讨论】:
标签: xml apache-flex actionscript-3 web-services namespaces