javascript - Finns det en praktisk html-parser som kan användas i Nativescript


Jag har försökt Jquery, Parse5, JsDom och upptäckt att de inte kan fungera i nativescript. Jquery är beroende av Dom, och Parse5 och JsDom är beroende av Node.js som inte stöds av nativescript nu. Det jag vill ha är endast en HTML-parser, är det möjligt att importera jquery till nativescript och använda det som en HTML-parser? Om det är möjligt, hur kan jag göra det. Om inte, finns det en praktisk HTML-parser som kan användas i Nativescript (med Angular2 + TypeScript).

Detaljer om min ansökan. Jag utvecklar en mobilapp för Moodle med NativeScript. Min app kommunicerar med Moodle via Moodles REST-API, och en del av innehållet är HTML-strängar. Så jag behöver en HTML-parser för att få ut sakerna i den HTML-strängen.

Till exempel skickar jag en "mod_quiz_get_attempt_data"-förfrågan till Moodle. Och jag kommer att hämta ett JSON-svar som nedan:

{"questions": [ { "slot": 1, "type": "flervalsfråga", "page": 0, "html": "Html-sträng här. Kan vara mycket komplex. Jag kan inte posta html-sträng, stackoverflow ignorerar dem", } ] }

Vissa data jag behöver finns i "html"-delen som är en html-sträng. Eftersom Moodle är en tredje part, föredrar jag att hantera detta i min app.

@Marek Maszay, @Emil Oberg

@Emil Oberg, jag har provat cheerio. Det fungerar inte. Eftersom cheerio beror på htmlparser2 som också beror på Nodejs.

Svar #1

Eftersom du har tittat på jQuery (bland andra) skulle jag säga att Cheerio är vad du vill ha. Det är en implementation av kärn-jQuery designad för en icke-DOM-miljö (såsom i en NativeScript-app, på servern, etc).

Att parsa HTML är dock vanligtvis inte något du behöver göra i en NativeScript-app. Av nyfikenhet: Vad försöker du göra?

Svar #2

Jag stötte på ett liknande problem och använde nativescript-xml2js för att lösa det.

Den konverterar HTML-strukturen (taggar, attribut) till JSON och fungerar i Nativescript med Typescript eller vanlig js.

Relaterade artiklar