получение значения из списка - PullRequest
1 голос
/ 01 декабря 2010

У меня есть xml, который выглядит следующим образом:

    <?xml version="1.0" encoding="UTF-8"?>

<feed xmlns="http://www.w3.org/2005/Atom" version="1.0" xml:lang="en">
<title type="text">Google Hot Trends</title>
<subtitle type="text">What are people searching for on Google today?</subtitle>
<id>http://www.google.com/trends/hottrends/atom/hourly,2007-08</id>
<link href="http://www.google.com/trends/hottrends/atom/hourly" rel="self"/>
<updated>2010-12-01T14:03:30Z</updated>
<entry xmlns="http://www.w3.org/2005/Atom">
<id>2010-12-01T14:03:30Z</id>
<title type="text"><![CDATA[rosa parks, adam levine girlfriend, meet the famous, ...]]></title>

<content type="html"><![CDATA[<ol>
<li><span class="Mild up2"><a href="http://www.google.com/trends/hottrends?q=rosa+parks&date=2010-12-1&sa=X">rosa parks</a></span></li>
<li><span class="Mild down1"><a href="http://www.google.com/trends/hottrends?q=adam+levine+girlfriend&date=2010-12-1&sa=X">adam levine girlfriend</a></span></li>
<li><span class="Mild down1"><a href="http://www.google.com/trends/hottrends?q=meet+the+famous&date=2010-12-1&sa=X">meet the famous</a></span></li>
<li><span class="Mild equal"><a href="http://www.google.com/trends/hottrends?q=sons+of+anarchy+season+4&date=2010-12-1&sa=X">sons of anarchy season 4</a></span></li>
<li><span class="Mild equal"><a href="http://www.google.com/trends/hottrends?q=victoria+secret+angels&date=2010-12-1&sa=X">victoria secret angels</a></span></li>
<li><span class="Mild up5"><a href="http://www.google.com/trends/hottrends?q=happy+hanukkah&date=2010-12-1&sa=X">happy hanukkah</a></span></li>
<li><span class="Mild down1"><a href="http://www.google.com/trends/hottrends?q=katy+perry+victoria+secret+fashion+show&date=2010-12-1&sa=X">katy perry victoria secret fashion show</a></span></li>
<li><span class="Mild down1"><a href="http://www.google.com/trends/hottrends?q=married+to+the+mob+clothing&date=2010-12-1&sa=X">married to the mob clothing</a></span></li>
<li><span class="Mild down1"><a href="http://www.google.com/trends/hottrends?q=victoria+secret+models+names+and+pictures&date=2010-12-1&sa=X">victoria secret models names and pictures</a></span></li>
<li><span class="Mild equal"><a href="http://www.google.com/trends/hottrends?q=world+aids+day+2010&date=2010-12-1&sa=X">world aids day 2010</a></span></li>
<li><span class="Mild up6"><a href="http://www.google.com/trends/hottrends?q=shahla+jahed&date=2010-12-1&sa=X">shahla jahed</a></span></li>
<li><span class="Mild equal"><a href="http://www.google.com/trends/hottrends?q=interpol&date=2010-12-1&sa=X">interpol</a></span></li>
<li><span class="Mild up18"><a href="http://www.google.com/trends/hottrends?q=wallis+simpson&date=2010-12-1&sa=X">wallis simpson</a></span></li>
<li><span class="Mild up46"><a href="http://www.google.com/trends/hottrends?q=chanukah&date=2010-12-1&sa=X">chanukah</a></span></li>
<li><span class="Mild new"><a href="http://www.google.com/trends/hottrends?q=hiv+symptoms&date=2010-12-1&sa=X">hiv symptoms</a></span></li>
<li><span class="Mild up6"><a href="http://www.google.com/trends/hottrends?q=santa+tracker&date=2010-12-1&sa=X">santa tracker</a></span></li>
<li><span class="Mild down8"><a href="http://www.google.com/trends/hottrends?q=vs+fashion+show+2010&date=2010-12-1&sa=X">vs fashion show 2010</a></span></li>
<li><span class="Mild down3"><a href="http://www.google.com/trends/hottrends?q=advent+calendar&date=2010-12-1&sa=X">advent calendar</a></span></li>
<li><span class="Mild up8"><a href="http://www.google.com/trends/hottrends?q=december+1&date=2010-12-1&sa=X">december 1</a></span></li>
<li><span class="Mild up19"><a href="http://www.google.com/trends/hottrends?q=aids+ribbon&date=2010-12-1&sa=X">aids ribbon</a></span></li>
</ol>
]]></content></entry></feed>

Как мне получить значения из тегов <a>, которые находятся внутри тегов <li>?

1 Ответ

2 голосов
/ 01 декабря 2010

Что вы можете сделать, если ваш <content> правильно сформирован, это преобразовать его в XML и затем использовать e4x для запроса информации, которую вы хотели.

У вас есть еще одна вещь, чтобы быть осторожным, что ваш XML содержит namespace, поэтому, чтобы получить узел содержимого, вы должны позаботиться об этом. Я предлагаю вам прочитать хороший пост о XML здесь , например.

Таким образом, узел content находится внутри узла entry, который также имеет namespace, но так как он совпадает с корневым узлом, мы можем повторно использовать тот же namespace:

var xml:XML=<feed xmlns="http://www.w3.org/2005/Atom" version="1.0" xml:lang="en">
<title type="text">Google Hot Trends</title>
<subtitle type="text">What are people searching for on Google today?</subtitle>
<id>http://www.google.com/trends/hottrends/atom/hourly,2007-08</id>
<link href="http://www.google.com/trends/hottrends/atom/hourly" rel="self"/>
<updated>2010-12-01T14:03:30Z</updated>
<entry xmlns="http://www.w3.org/2005/Atom">
<id>2010-12-01T14:03:30Z</id>
<title type="text"><![CDATA[rosa parks, adam levine girlfriend, meet the famous, ...]]></title>

<content type="html"><![CDATA[<ol>
<li><span class="Mild up2"><a href="http://www.google.com/trends/hottrends?q=rosa+parks&date=2010-12-1&sa=X">rosa parks</a></span></li>
<li><span class="Mild down1"><a href="http://www.google.com/trends/hottrends?q=adam+levine+girlfriend&date=2010-12-1&sa=X">adam levine girlfriend</a></span></li>
<li><span class="Mild down1"><a href="http://www.google.com/trends/hottrends?q=meet+the+famous&date=2010-12-1&sa=X">meet the famous</a></span></li>
<li><span class="Mild equal"><a href="http://www.google.com/trends/hottrends?q=sons+of+anarchy+season+4&date=2010-12-1&sa=X">sons of anarchy season 4</a></span></li>
<li><span class="Mild equal"><a href="http://www.google.com/trends/hottrends?q=victoria+secret+angels&date=2010-12-1&sa=X">victoria secret angels</a></span></li>
<li><span class="Mild up5"><a href="http://www.google.com/trends/hottrends?q=happy+hanukkah&date=2010-12-1&sa=X">happy hanukkah</a></span></li>
<li><span class="Mild down1"><a href="http://www.google.com/trends/hottrends?q=katy+perry+victoria+secret+fashion+show&date=2010-12-1&sa=X">katy perry victoria secret fashion show</a></span></li>
<li><span class="Mild down1"><a href="http://www.google.com/trends/hottrends?q=married+to+the+mob+clothing&date=2010-12-1&sa=X">married to the mob clothing</a></span></li>
<li><span class="Mild down1"><a href="http://www.google.com/trends/hottrends?q=victoria+secret+models+names+and+pictures&date=2010-12-1&sa=X">victoria secret models names and pictures</a></span></li>
<li><span class="Mild equal"><a href="http://www.google.com/trends/hottrends?q=world+aids+day+2010&date=2010-12-1&sa=X">world aids day 2010</a></span></li>
<li><span class="Mild up6"><a href="http://www.google.com/trends/hottrends?q=shahla+jahed&date=2010-12-1&sa=X">shahla jahed</a></span></li>
<li><span class="Mild equal"><a href="http://www.google.com/trends/hottrends?q=interpol&date=2010-12-1&sa=X">interpol</a></span></li>
<li><span class="Mild up18"><a href="http://www.google.com/trends/hottrends?q=wallis+simpson&date=2010-12-1&sa=X">wallis simpson</a></span></li>
<li><span class="Mild up46"><a href="http://www.google.com/trends/hottrends?q=chanukah&date=2010-12-1&sa=X">chanukah</a></span></li>
<li><span class="Mild new"><a href="http://www.google.com/trends/hottrends?q=hiv+symptoms&date=2010-12-1&sa=X">hiv symptoms</a></span></li>
<li><span class="Mild up6"><a href="http://www.google.com/trends/hottrends?q=santa+tracker&date=2010-12-1&sa=X">santa tracker</a></span></li>
<li><span class="Mild down8"><a href="http://www.google.com/trends/hottrends?q=vs+fashion+show+2010&date=2010-12-1&sa=X">vs fashion show 2010</a></span></li>
<li><span class="Mild down3"><a href="http://www.google.com/trends/hottrends?q=advent+calendar&date=2010-12-1&sa=X">advent calendar</a></span></li>
<li><span class="Mild up8"><a href="http://www.google.com/trends/hottrends?q=december+1&date=2010-12-1&sa=X">december 1</a></span></li>
<li><span class="Mild up19"><a href="http://www.google.com/trends/hottrends?q=aids+ribbon&date=2010-12-1&sa=X">aids ribbon</a></span></li>
</ol>
]]></content></entry></feed>;

// get the current namespace from the XML
var ns:Namespace = xml.namespace();

// get and create a new XML from the content node using the previous namespace
var contentXML:XML = new XML(xml.ns::entry.ns::content.toString());

// get all the a node
var anchors:XMLList = contentXML.li.span.a;

// now do what you want with values
for each (var anchor:XML in anchors)
 trace(anchor.@href);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...