У меня есть несколько YQL
запросов из XML и RSS, которые возвращают больше, чем я хочу SELECT
. Я получаю весь XML от itemPath
до значения атрибута, которое я затем должен просеять, чтобы найти только те значения, которые я хочу:
Этот запрос:
SELECT current_conditions.temp_c.data FROM xml
WHERE url="http://www.google.com/ig/api?weather=Tbilisi"
AND itemPath="//weather"
возвращает все это:
<results>
<weather>
<current_conditions>
<temp_c data="-7"/>
</current_conditions>
</weather>
</results>
но все, что мне нужно, это:
<results>-7</results>
и этот запрос:
SELECT condition.temp FROM rss
WHERE url="http://weather.yahooapis.com/forecastrss?w=1965878&u=c"
возвращает все это:
<results>
<item>
<yweather:condition
xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" temp="1"/>
</item>
</results>
тогда как я хочу вот что:
<results>1</results>
Есть ли способ получить более краткие результаты, подобные этим, при выборе атрибутов XML с YQL, поэтому мне не нужно больше разбирать результат в моем коде?
Один случай использования - это когда я хочу запросить несколько источников в одном запросе, используя yql.query.multi
. Я не получаю красивую аккуратную «строку», когда мне возвращается весь этот окружающий XML.