在Bing中使用Flash E4X

时间:2011-03-20 04:37:18

标签: xml actionscript-3 parsing e4x bing

我正在使用Action Script 3.0,并使用E4X解析一些XML文件。它工作正常,直到我开始使用Bing的xml结果文件。

以下是Bing的XML结果示例:

<web:Web xmlns:web="http://schemas.microsoft.com/LiveSearch/2008/04/XML/web">
    <web:Total>85700000</web:Total>
    <web:Offset>0</web:Offset>
    <web:Results>
      <web:WebResult>
        <web:Title>HELLO! - The place for celebrity news - hellomagazine.com</web:Title>

我需要从WebResult节点获取信息,但网络中的冒号:WebResult让我失望。

我尝试了以下内容:

var title:String = xml..Results.WebResult[0].text();

从Web结果中获取第一个标题,但它不起作用。我认为它找不到WebResult节点,因为它返回0

var results:int = xml..Results.WebResult.length();

有关如何使用E4X从这种XML文件获取信息的任何建议?谢谢!

1 个答案:

答案 0 :(得分:1)

我找到了答案: 首先,通过编写

来定义命名空间变量'web'
var xhtml:Namespace = new Namespace("schemas.microsoft.com/LiveSearch/2008/04/XML/web";); 

然后,在E4X表达式中的每个元素前添加'web ::'。例如,

xml..Results.WebResult.length(); 

成为

xml..web::Results.web::WebResult.length();