使用XmlArrow从页面获取第n个元素?

时间:2013-01-10 18:25:48

标签: haskell arrows hxt

在此page scraping tutorial之后,作者将获得页面上所有图像的集合,如下所示:

css :: ArrowXml a => String -> a XmlTree XmlTree
css tag = multi (hasName tag)

images tree = tree >>> css "img" >>> getAttrValue "src"

我怎样才能获得页面上的第二张图片?我在XmlArrow docs中找不到任何类似getElementAt :: Int -> blah的函数。

谢谢!

1 个答案:

答案 0 :(得分:2)

可以在ArrowList类型类中找到用于操作元素列表的函数。

在这种特殊情况下,您可以使用>>.运算符使用普通列表函数转换结果列表。

nthImage n tree = images tree >>. (take 1 . drop n)