Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di ciaz
    Registrato dal
    Oct 2008
    Messaggi
    68

    [vb.net] Importare file HTML senza tag in una richtextbox

    Buongiorno a tutti,
    come da titolo devo eseguire questa semplice operzione

    Ho tentato 2 metodi.
    Ho utilizzato streamreader per leggere e scrivere il file in una RTB ma cosi facendo leggo e scrivo anche i tag html cosa che devo evitare
    Un altro metodo che ho usato è lanciare con webbrowser il file ed estrapolare il testo senza tag HtML importandolo dentro una RTB ma evidentemente non si può fare (almeno credo che sia valido solo per le pagine web e non per i file html...) in quanto mi restitiusce errore.

    Vi domando: come posso importare il testo di un file HTML senza i relativi tag dentro alla mia RTB?
    Grazie per l'aiuto,
    Ciaz

  2. #2
    Che tipo di errore ti restituisce? Puoi postare il codice?

    Mi sembrava che WebBrowser potesse importare anche i file htm..

  3. #3
    Utente di HTML.it L'avatar di ciaz
    Registrato dal
    Oct 2008
    Messaggi
    68
    codice:
    WebBrowser1.Navigate(txtPercorso.Text)
    Dim doc As HtmlDocument, b As HtmlElement
    doc = WebBrowser1.Document
    b = doc.Body
    rtbRella.Text = b.InnerHtml
    errore

    Object reference not set to an instance of an object.

    riferito a

    codice:
    rtbRella.Text = b.InnerHtml

  4. #4
    E se usassi le regular expressions ?

    Per esempio:

    codice:
      Dim objRE as New RegEx("<(.|\n)+?>")  
               objRE.Replace(testoHTML, "")
    Fammi sapere..

    Ciao

  5. #5
    Originariamente inviato da ciaz
    codice:
    WebBrowser1.Navigate(txtPercorso.Text)
    Dim doc As HtmlDocument, b As HtmlElement
    doc = WebBrowser1.Document
    b = doc.Body
    rtbRella.Text = b.InnerHtml
    errore

    Object reference not set to an instance of an object.

    riferito a

    codice:
    rtbRella.Text = b.InnerHtml
    Secondo me dipende dal fatto che quando l'esecuzione del codice arriva qui il documento non è ancora caricato, perché se non vado ad errato il metodo Navigate è asincrono.
    Devi quindi attendere il caricamento della pagina prima di proseguire, se non erro c'è un evento apposito del WebBrowser che viene sollevato a caricamento completato.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it L'avatar di ciaz
    Registrato dal
    Oct 2008
    Messaggi
    68
    Problema risolto!
    In effetti MItaly aveva ragione... il WB aveva bisogno di una pausa
    inserendo

    codice:
    While WebBrowser1.IsBusy Or WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
         Application.DoEvents()
    End While
    funziona tutto perfettamente.
    Ringrazio entrambi per la vostra disponibilità, siete dei grandi.
    Grazie ancora a tutti e due, a presto
    ciaz

  7. #7
    Un consiglio: andare in polling in quella maniera non è buona pratica, spreca molto tempo di CPU. Dovresti invece modificare il tuo codice in maniera tale da sfruttare l'apposito evento che il WebBrowser mette a disposizione.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it L'avatar di ciaz
    Registrato dal
    Oct 2008
    Messaggi
    68
    Ah ok..
    non ero a conoscenza di questa cosa.
    Ho modificato il codice: in pratica apro il file col webbrowser poi quando si scatena l'evento DocumentCompleted faccio il resto
    Grazie per la dritta

  9. #9
    Di niente; ciao!
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Originariamente inviato da ciaz
    Ringrazio entrambi per la vostra disponibilità, siete dei grandi.
    Grazie ancora a tutti e due, a presto
    ciaz
    Prego..

    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.