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>
YQLでXML属性を選択するときに、このようなより簡潔な結果を取得して、コードで結果をさらに解析する必要がないようにする方法はありますか?
1つのユースケースは、を使用して1つのクエリ内で複数のソースをクエリする場合ですyql.query.multi
。この周囲のXMLがすべて返されても、きちんとした「行」は返されません。