8
말하기, 나는 RSS 피드를 파싱 중이며 그로부터 정보의 하위 집합을 추출하려고합니다.Clojure에서 XML 지퍼로 사용자 정의 구조를 구현하는 관용적 인 방법
(def feed (-> "http://..." clojure.zip/xml-zip clojure.xml/parse))
나는 별도로 링크와 제목을 얻을 수 있습니다 :
(xml-> feed :channel :item :link text)
(xml-> feed :channel :item :title text)
을 내가 예를 들어, 지퍼 번 이상을 통과하지 않고 같은 시간에 압축을 해제하는 방법을 알아낼 수 없습니다 그러나
(let [feed (-> "http://..." clojure.zip/xml-zip clojure.xml/parse)]
(zipmap
(xml-> feed :channel :item :link text)
(xml-> feed :channel :item :title text)))
... 또는 점진적
assoc
말하자면 가진지도를 구축하는 기능을 복수의 시퀀스를 맵핑 관련된 이들의 변형.
시퀀스를 여러 번 트래버스해야 할뿐만 아니라 시퀀스에도 별도의 상태가 있으므로 요소는 반드시 "정렬"되어야합니다. 즉, RSS보다 복잡한 경우에는 하위 요소가 특정 요소에서 누락되어 하나의 시퀀스가 짧아집니다 (틈이 없음). 결과는 실제로 부정확 할 수 있습니다.
더 좋은 방법이 있습니까, 아니면 사실, Clojure에서하는 방법이 있습니까?