2012-01-05 12 views
6

ho cercato di analizzare HTML con il HtmlAgilityPack nel seguente modo:Rimuovere gli spazi bianchi e ritorni a capo durante l'analisi con HtmlAgilityPack

HtmlDocument htmlDoc = new HtmlDocument(); 
htmlDoc.LoadHtml(xhtmlString); 

Purtroppo la xhtmlString contiene spazi vuoti inutili e caratteri di nuova riga, in modo che il _text di HTMLDOC ora assomiglia a questo :

<html xmlns=\"http://www.w3.org/1999/xhtml\">\n\t<head></head>\n\t<body>\n\n<p>Alle Auktionen<br /></p>\n\n\t</body>\n</html>

Questo è un problema per me quando si lavora con gli elementi figlio del corpo.

Qual è il modo più semplice per rimuovere questi caratteri non necessari?

HtmlAgilityPack offre qualche tipo di funzione per la pulizia dell'HTML da newline e schede?

+0

C'è un modo si potrebbe usare String.Replace per risolvere questo? –

risposta

1

Questa è la rientranza del documento e non superflui spazi bianchi e caratteri di nuova riga.
Non riesco a vedere come questo potrebbe essere un problema, ma non puoi semplicemente sostituire i caratteri speciali come "\ t", "\ n"?

Facendo una ricerca veloce ho trovato questo Html Agility Pack: make code look neat
Forse creazione di alcuni oggetti da falso può essere utile

+0

Potrei sostituire manualmente i caratteri speciali, ma preferirei estrarre l'html (senza l'intenzione, ecc.). Se ad esempio i caratteri di nuova riga sono codificati in modo diverso perché l'utente che inserisce l'html ha un altro sistema operativo, potrei incorrere in problemi. – magnattic

+0

.Replace (Environment.NewLine, text); Può funzionare su piattaforme UNIX e non UNIX ma non so "\ t" –

+0

@matheusrufca - la preoccupazione degli attici riguardo alle nuove linee è valida. Non sta parlando di avere un problema con il suo codice multipiattaforma, la sua preoccupazione è di manipolare il codice HTML generato da un'altra piattaforma. –

Problemi correlati