3
간단한 HTML 페이지를 구문 분석 할 때 haskell 화살표를 배우고 있습니다.하스켈 화살표 : 목록에 값을 입력하십시오.
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
- 어떻게 쓸 작업은,베이스 영역
baseRegion = Region "Yekaterinburg" "http://example.com/r/ekb"
의 사이트를 다운로드 (HXT를 통해) 다른 지역에 대한 링크를 구문 분석하는 것입니다allRegions
? 또는, 더 나은, 어디에 그것을 쓰려고 발굴해야합니까? - 또 다른 질문은
regions
의 결과를 추가하는 것이 아니라baseRegion
을 지역 목록의 특정 위치에 삽입하는 것입니다 (예를 들어 두 번째 요소 뒤에 또는 'E'로 시작하는 요소의 뒤에)?
'baseRegion'에서 시작하여'regions (getXMLFromRegion region)'이 연속적으로 호출됩니다. 결과를 평면 목록에 계속 추가 할 수 있습니까? – iamnat