从vbnet中的html节点获取数据

时间:2012-04-15 01:45:38

标签: .net html vb.net

我有一个基本的锚节点作为字符串,并希望从中获取URL和文本。例如:

<a href="http://MyAwesomeWebsite.com/">Go to MyAwesomeWebsite</a>

我想要两个字符串,一个用于:

http://MyAwesomeWebsite.com/

和另一个

MyAwesomeWebsite

我该如何编码?

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式提取下一个所需的文本:

    Imports System.Text.RegularExpressions
    Sub Main()
    Dim anchor As String
    anchor = "<a href=""http://MyAwesomeWebsite.com/"">Go to MyAwesomeWebsite</a>"

    Dim href As String = Regex.Match(anchor, "\""[a-z,A-Z,0-9,:,/,.]+\""").Value
    Console.WriteLine(href.Substring(1, href.Length - 2))

    Dim content As String = Regex.Match(anchor, "\>[a-z,A-Z,0-9,:,/,., ]+\<").Value
    Console.WriteLine(content.Substring(1, content.Length - 2))
    Console.ReadKey()
    End Sub

您也可以使用 String 提供的方法,例如 IndexOf 子串。 但如果您正在考虑解析,那么很多人认为我建议您使用像HtmlAgilePack这样的库。

答案 1 :(得分:0)

Html Agility Pack库可以为您解析字符串并返回您想要的任何信息。这里有关于如何使用它的stackoverflow的plenty of related questions

另一种方法涉及使用regular expression查找匹配所需模式的子字符串。