2012-07-21 27 views
1

爲什麼會出現此錯誤?傳遞HTML頁面的字符串並用HtmlAgilityPack擦除

「路徑中具有非法字符」 在htmlDoc.Load(pageSource)

pageSource是HTML頁面的一個字符串變量。我需要將頁面源作爲字符串傳遞,而不是作爲文件而不是URL。我該怎麼做呢?

Dim ids As New List(Of String)() 
Dim pageSource = getHtml(url) 

Dim htmlDoc As HtmlDocument = New HtmlDocument() 

htmlDoc.OptionFixNestedTags = True 


htmlDoc.Load(pageSource) 


Dim s As HtmlNodeCollection = htmlDoc.DocumentNode.SelectNodes("//div/@id") 

For Each div As HtmlNode In s 
    ids.Add(div.Id) 
Next 
+0

@minitech如果刪除了C#標籤,你不必爲VB.NET – jcolebrand 2012-07-21 04:33:11

+1

@jcolebrand格式化:我知道,但[tag:c#]對於讓人們知道C#答案是可以接受的很重要。 – Ryan 2012-07-21 04:34:04

+0

@minitech你怎麼看?這是.NET,但仍需要針對原始問題的VB.NET進行量身定製。大多數編寫.NET代碼的人會掛斷一種語言,不知道如何在兩者之間進行轉換(來源:經驗) – jcolebrand 2012-07-21 04:35:24

回答

8

使用LoadHtml而不是Load

htmlDoc.LoadHtml(pageSource) 

See also the source.

+0

工作 - 謝謝 – 2012-07-21 04:36:57

+0

http://htmlagilitypack.codeplex.com/SourceControl/changeset/view/98677#1003091源的情況下,任何人都好奇,但我正在拖曳相關的頁眉加載字符串。加載() – jcolebrand 2012-07-21 04:37:05

相關問題