YQL 返回 title 和 dc:title 的重复结果
我正在使用 YQL 来解析多个 rss 提要。我成功让 YQL 返回标题、链接、日期的 XML,但它也引入了 dc:title,这会导致重复的结果。我尝试过使用 dc:title 但出现语法错误。这是 YQL 声明。
select title,link,description,date from rss where url in (
'http://somerssfeed.com',
'http://somerssfeed.com'
) | sort(field="date", descending="true")
使用 dc:title 的正确语法是什么? 另外,YQL 是否可以将 xml 输出中的 dc:title 重命名为 title?
I am using YQL to parse multiple rss feeds. I have success getting YQL to return the XML for title,link,date but it also pulls in dc:title which makes for duplicate results. I have tried using dc:title but get a syntax error. Here's the YQL statement.
select title,link,description,date from rss where url in (
'http://somerssfeed.com',
'http://somerssfeed.com'
) | sort(field="date", descending="true")
What would be the correct syntax to use dc:title?
Also, is it possible for YQL to rename dc:title in the xml output to just title?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如您所看到的,当您指定 投影 时,YQL 会忽略命名空间(字段取回)。因此,正确的语法就是您已经拥有的;您无法按照您想要的方式区分
title
和dc:title
字段。然而,您可以按照您喜欢的任何方式操作数据(包括删除、重命名、重新排序字段/结果)。 Reference.html" rel="nofollow">数据表。
如果这听起来太辛苦了,您可以附加一个< code>unique() 过滤器 到现有查询的末尾,以便每个唯一的
title
/dc:title
仅返回一个结果,以进行合并您得到的重复项,例如... |唯一(字段=“标题”)
。As you have seen, YQL ignores namespaces when you specify the projection (the fields to retrieve). So, the correct syntax is what you already have; you cannot differentiate the
title
anddc:title
fields in the manner that you want.You could however manipulate the data in any way that you like (including removing, renaming, reordering of fields/results) in a bespoke data table.
If that sounds like too much hard work, you could append a
unique()
filter to the end of your existing query to return only one result per uniquetitle
/dc:title
, to merge the duplicates that you are getting, like… | unique(field="title")
.