我正在使用YQL Console来试验查询REST XML网络服务。
我找到了一个简单的公共服务。
http://www.thomas-bayer.com/sqlrest/CUSTOMER/-151612345/
返回
<CUSTOMER xmlns:xlink="http://www.w3.org/1999/xlink">
<ID>-151612345</ID>
<FIRSTNAME>Deepthi</FIRSTNAME>
<LASTNAME>Deep</LASTNAME>
<STREET>440 - 20th Ave.</STREET>
<CITY>Los Angeles</CITY>
</CUSTOMER>
如果我使用查询:
select *
from xml
where url='http://www.thomas-bayer.com/sqlrest/CUSTOMER/-151612345/'
我返回了这个XML。但是,如果我尝试将数据限制为单个元素,例如:
select *
from xml
where url='http://www.thomas-bayer.com/sqlrest/CUSTOMER/-151612345/'
and xpath='//LASTNAME'
没有返回任何结果。
我做错了什么?
Click here to display the YQL console with the query loaded.
答案 0 :(得分:0)
根据需要过滤结果的正确密钥不是xpath
,而是itemPath
。
SELECT *
FROM xml
WHERE url='http://www.thomas-bayer.com/sqlrest/CUSTOMER/-151612345/'
AND itemPath='//LASTNAME'
(Try this query in the YQL console)功能
您可以通过发出查询desc <tablename>
来查看给定表的键。
desc xml
(Try this query in the YQL console)功能
对于xml
表,itemPath
可以是XPath表达式或E4X虚线路径。