我正在使用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文件获取信息的任何建议?谢谢!
答案 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();