Используйте Flash E4X с Bing - PullRequest
0 голосов
/ 20 марта 2011

Я использую Action Script 3.0 и использую E4X для анализа некоторых XML-файлов. Он работал нормально, пока я не начал использовать xml-файл результатов Bing.

Вот пример XML-результата Bing:

<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();

, чтобы получить первый заголовок из веб-результатов, но это не работает. Я думаю, что он не может найти узел WebResult, потому что это возвращает 0

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

Есть предложения о том, как получить информацию из этого типа XML-файла, используя E4X? Спасибо!

1 Ответ

1 голос
/ 20 марта 2011

Я нашел ответ: сначала определите переменную пространства имен 'web', написав это

var xhtml:Namespace = new Namespace("schemas.microsoft.com/LiveSearch/2008/04/XML/web";); 

Затем добавьте 'web ::' перед каждым элементом в выражении E4X.Например,

xml..Results.WebResult.length(); 

становится

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