2009-04-18 17 views
7

Robię trochę przetwarzania html po stronie serwera w Haskell. Zastanawiasz się, czy istnieje odpowiednik implementacji silnika selektora typu selektora dla haskell, który mógłbym użyć. Google nic nie daje.Jquery jak selektor w Haskell

Odpowiedz

2

Sposób działania silnika selektora jQuery (w przybliżeniu) działa poprzez wykorzystanie istniejącego kodu JavaScript-selekcji/manipulacji JavaScript. Nikt nie stworzył czegoś takiego w Haskell według mojej wiedzy i prawdopodobnie z dobrego powodu. Z JavaScriptem jest to łatwe ze względu na DOM i istniejącą funkcjonalność, ale w Haskell nie masz ani potrzeby, ani nie jest to szczególnie łatwe.

Jeśli chodzi o pisanie samemu, będziesz po prostu robił wiele nieprzyjemnych parsowania XML. Jeśli możesz uporządkować stronę w XHTML, możesz sparsować ją jako XML; następnie można wybrać na podstawie tego, czy węzeł ma dzieci, czy węzeł ma określony atrybut, jaki jest sam element itd.

Może po prostu szukasz biblioteki XML! Jeśli to ci pomoże, polecam HaXml. Użyłem go jeszcze dwa razy, ale mi się podobało. Jednak nic podobnego do tej aplikacji.

1

Spójrz na moduł Xtract z HaXml. Jest tam narzędzie wiersza poleceń o tej samej nazwie, aby je przetestować.

0

Piszę moduł zrobić właśnie to nazywa HandsomeSoup. Używa HXT. Napisałem także kompletny przewodnik po pracy z HTML z HXT here.

1

Zrobiłem pakiet dom-selector, który obsługuje niektóre selektory css. Działa to na pakietach xml-conduit i html-conduit. Spodziewam się, że kanał xml i kanał html będą aktywnie rozwijane, ponieważ towarzyszą Yesod, głównej strukturze serwerów sieciowych dla Haskella.