Domanda

Vorrei sapere se c'è un modo semplice per analizzare HTML in vb.net. So che HTML non è sottoinsieme sctrict di XML, ma sarebbe bello se si potesse essere trattato in questo modo. C'è qualcosa là fuori che mi permetteva di analizzare HTML in modo XML come in VB.net?

È stato utile?

Soluzione

Mi piace Html Agility Pack - è molto sviluppatore cordiale, la connessione e il codice sorgente è disponibile.

Altri suggerimenti

'aggiungi prog ref troppo: Microsoft.mshtml

'quindi nella pagina:

Imports mshtml

Function parseMyHtml(ByVal htmlToParse$) As String
    Dim htmlDocument As IHTMLDocument2 = New HTMLDocumentClass()
    htmlDocument.write(htmlToParse)
    htmlDocument.close()

    Dim allElements As IHTMLElementCollection = htmlDocument.body.all

    Dim allInputs As IHTMLElementCollection = allElements.tags("a")
    Dim element As IHTMLElement
    For Each element In allInputs
        element.title = element.innerText
    Next

    Return htmlDocument.body.innerHTML
End Function

qui :

Se il codice HTML segue gli standard XHTML, si può fare un sacco di analisi e di elaborazione utilizzando le classi spazio System.Xml.

Se, d'altra parte, se quello che stai analisi è ciò che gli sviluppatori web si riferiscono come "zuppa di tag", avrete bisogno di un parser di terze parti come HTML Agility pacchetto .

Questa può essere solo una soluzione parziale al problema se si sta cercando di capire come un browser interpreterà il codice HTML, come ogni browser analizza zuppa di tag in modo leggermente diverso.

Non utilizzare l'agilità confezione, basta usare MSHTML libreria per accedere al DOM, questo è ciò che vale a dire usi ed è grande per passare attraverso gli elementi HTML.

Agilità pack è brutto e inutilmente hackie se mi chiedete, MSHTML è la strada da percorrere. Cercare informazioni su MSDN.

E 'ben formato? Se il codice HTML è in realtà ben formato allora può essere analizzato come XML. Se si tratta di zuppa di tag e ci sono elementi non chiusa e tale io penserebbe che avrebbe dovuto dare la caccia in giro per una soluzione di terze parti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top