7 Stimmen

Jquery-ähnlicher Selektor in Haskell

Ich mache einige Server-Seite html Verarbeitung in Haskell. Ich frage mich, ob es ein Äquivalent von Jquery-Typ-Selektor-Engine-Implementierung für Haskell da draußen, die ich verwenden könnte. Google bringt nichts.

5voto

Don Stewart Punkte 136046

Einige möglicherweise relevante Pakete:

2voto

Anthony Punkte 7050

Die Art und Weise, wie die Selektor-Engine von jQuery (grob) funktioniert, ist die Nutzung von bestehendem Javascript-Code zur DOM-Auswahl/Manipulation. Meines Wissens hat noch niemand so etwas in Haskell entwickelt, und das wahrscheinlich aus gutem Grund. Es ist einfach, mit Javascript zu tun, weil der DOM und bestehende Funktionalität, aber in Haskell, Sie haben weder eine große Notwendigkeit für sie noch ist es besonders einfach.

Wenn Sie es selbst schreiben wollen, müssen Sie allerdings eine Menge unangenehmer XML-Analysen durchführen. Wenn Sie die Seite in XHTML aufräumen können, können Sie sie als XML parsen; dann können Sie auswählen, ob ein Knoten Kinder hat, ob ein Knoten ein bestimmtes Attribut hat, was das Element selbst ist, und so weiter.

Vielleicht suchen Sie dann einfach eine XML-Bibliothek! Wenn dies für Sie funktioniert, würde ich empfehlen HaXml. Ich habe es bisher nur zweimal benutzt, aber es hat mir gefallen. Es gibt jedoch nichts Vergleichbares zu dieser Anwendung.

1voto

ADEpt Punkte 5434

Schauen Sie sich das Xtract-Modul aus dem HaXml an. Dort gibt es ein gleichnamiges Kommandozeilen-Tool, mit dem Sie es ausprobieren können.

1voto

Hiro Punkte 475

Ich habe eine dom-selector Paket, das einige css-Selektoren unterstützt. Dies funktioniert bei xml-conduit y html-Leitung Pakete. Ich erwarte, dass xml-conduit und html-conduit aktiv weiterentwickelt werden, da sie Yesod begleiten, ein wichtiges Webserver-Framework für Haskell.

0voto

Vlad the Impala Punkte 14862

Ich schreibe ein Modul, das genau dies tut, mit dem Namen HandsomeSoup . Es verwendet HXT . Ich habe auch eine vollständige Anleitung zur Arbeit mit HTML mit HXT geschrieben aquí .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X