Come ottenere testo HTML tra tag H1 in C #

c# html html-agility-pack

Domanda

Ho bisogno di analizzare un documento HTML per estrarre tutti i tag H1 e tutto l'HTML tra di loro. Ho giocato con HtmlAgilityPack per ottenere questo risultato con un certo successo. Potrei estrarre tutti i tag H1 usando:

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//h1"))

Ma come faccio a estrarre tutto il codice HTML dopo ogni tag H1 fino a quando non premo il prossimo tag H1? Questo codice HTML può includere qualsiasi cosa da una tabella / immagine / collegamento o qualsiasi altra cosa su una pagina HTML, ma il tag H1.

Grazie in anticipo.

Risposta popolare

Possibile soluzione: Ottieni l'HTML completo come String, sostituisci <H1> con un segno che HTML non conosce (ad es. ü, HTML usa & uuml;), quindi dividi la stringa con questo segno in una matrice.

Ora si esegue la ricerca (con RegEx ad esempio) per i nodi con tag di inizio e fine e solo analizzati.

Veloce e sporco, ma dovrebbe funzionare.

Si prega di essere consapevoli del fatto che, come menzionato drachenstern, i tag H1 nidificati porteranno a che i nodi padre non vengano analizzati.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché