2010-09-10 6 views
2

im essayant de récupérer ce texte sur une page Web sans saut de ligne:Supprimer le noeud de saut de ligne dans htmlagilitypack?

<span class="listingTitle">888-I-AM-JUNK. Canada's most trusted BIG LOAD junk removal<br />specialist!</span></a> 

Comment puis-je faire?

Voici mon code actuel jusqu'à présent, j'utilise vb.

Dim content As String = "" 
     Dim doc As New HtmlAgilityPack.HtmlDocument() 
     doc.Load(WebBrowser1.DocumentStream) 
     Dim hnc As HtmlAgilityPack.HtmlNodeCollection = doc.DocumentNode.SelectNodes("//span[@class='listingTitle']") 
     For Each link As HtmlAgilityPack.HtmlNode In hnc 
      Dim replaceUnwanted As String = "" 
      replaceUnwanted = link.InnerText.Replace("&amp;", "&") ' 
      replaceUnwanted = replaceUnwanted.Replace("&#39;", "'") 
      replaceUnwanted = replaceUnwanted.Replace("See full business details", "") 

      content &= replaceUnwanted & vbNewLine 
     Next 
     RichTextBox1.Text = content 
     Me.RichTextBox1.Lines = Me.RichTextBox1.Text.Split(New Char() {ControlChars.Lf}, _ 
                StringSplitOptions.RemoveEmptyEntries) 

Je dois enlever le <br />

Répondre

0

Que diriez-vous de passer par la même manipulation de chaîne régulière?

replaceUnwanted = replaceUnwanted.Replace(vbCrLf, "") 

Si vous vous occupiez la <span>...<span>:

replaceUnwanted = replaceUnwanted.ToLower().Replace("<br>", "") 
replaceUnwanted = replaceUnwanted.ToLower().Replace("<br />", "") 
+0

Merci une tonne de p.cambell de "replaceUnwanted = replaceUnwanted.ToLower() Remplacer (vbCrLf, "")" a fait l'affaire. Je ne sais pas comment je n'ai pas pensé à ça. – Datadayne

+0

@Datadayne: vous pariez, mon plaisir. De toute évidence, toLower() ne vous achète rien avec le cas vbCrLf, mais je copierais/collerais simplement à partir de l'exemple BR. J'ai fait le montage juste pour m'amuser. Voici une mise à jour pour votre question! –