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.
Antworten
Zu viele Anzeigen?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.
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.
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í .