我有以下两个YQL查询,每个查询都可以自行运行,但我很确定有一种方法我无法在一个更复杂的查询中找到它们:
SELECT * FROM xml WHERE url="http://www.google.com/ig/api?weather=Tbilisi"
AND itemPath="//current_conditions/temp_c"
和
SELECT * FROM html WHERE url='http://amindi.ge/'
AND xpath="//*[@id='maincityholder']/h1"
这里有类似措辞的问题都是关于子选择的问题,使用query.multi
似乎不再存在,或选择*
以外的其他我无法得到的东西即使是孤立地使用我的任何一个查询。
可能是itemPath
和xpath
条款是问题,但正如我所说,如果没有这些条款我就无法工作。我错过了什么或者我的特定查询无法做到这一点吗?
答案 0 :(得分:4)
query.multi
表存在于它始终具有的相同位置。您是否忘记加载该表(或通常的env=store://datatables.org/alltableswithkeys
)?
还有一个yql.query.multi
表,其使用方式与query.multi
完全相同,但存在于YQL中,因此不需要将数据表加载到环境中。
以下查询,记录您的个人查询(以及在必要时更改/转义引号)
SELECT * FROM yql.query.multi WHERE queries='
SELECT * FROM xml WHERE url="http://www.google.com/ig/api?weather=Tbilisi"
AND itemPath="//current_conditions/temp_c";
SELECT * FROM html WHERE url="http://amindi.ge/"
AND xpath="//*[@id=\'maincityholder\']/h1"
';
给出
<results>
<results>
<temp_c data="-2"/>
</results>
<results>
<h1>6°</h1>
</results>
</results>