0

我正在使用 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 节点获取信息,但是 web:WebResult 中的冒号让我失望。

我尝试了以下方法:

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

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

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

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

4

1 回答 1

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();
于 2011-03-20T05:32:36.230 回答