シンプルなhtmlページを解析する場合に備えて、ハスケルの矢印を学んでいます。タスクは、ベース リージョンのサイトをダウンロードbaseRegion = Region "Yekaterinburg" "http://example.com/r/ekb"
し、別のリージョンへのリンクを解析することです (hxt 経由):
regions :: ArrowXml cat => cat a (NTree XNode) -> cat a Region
regions tree =
tree >>> multi (hasName "a" >>> hasAttrValue "class" (== ".regionlink")) >>>
proc x -> do
rname <- getText <<< getChildren -< x
rurl <- getAttrValue "href" -< x
returnA -< Region rname rurl
結果にベース領域を追加します。
allRegions :: ArrowXml cat => cat a (NTree XNode) -> cat a Region
- 書き方は
allRegions
?または、どこを掘り下げて書くべきですか? - 別の質問は、
regions
の結果を追加するだけでなく、領域リストの特定の場所に挿入baseRegion
する方法です (たとえば、2 番目の要素の後、または名前が「E」で始まる要素の後)。