如何从HTML中检索值

时间:2014-03-10 16:11:21

标签: c# html

我正在尝试从控制台应用程序中的HTML字符串中提取值。

MSDN几乎解释了我想要的内容,就像Get html element by value

一样

在我的控制台应用程序中,我的功能看起来像

    public void MyMethod()
    {
        var myValue = GetValueFromHtml("<a href=\"#\">My Link</a>");
    }

    internal string GetValueFromHtml(code)
    {
       //mycode   
       //returns My Link
    }

我可以使用字符串操作,在第一个>上拆分,然后在第一个'&lt;'这个新值上进行拆分。

我想我也可以尝试将其转换为XDocument(尽管有关非法字符的投诉,但我仍然可以使用)但总体而言似乎有点矫枉过正?我尝试使用XElement,但因为我有<标签

而抱怨

我觉得我可以使用HtmlElement.GetValue()来实现相同的功能,但我不知道当我不使用数组/列表时如何?

2 个答案:

答案 0 :(得分:3)

我建议你使用HtmlAgilityPack(可从NuGet获得):

string html = "<a href=\"#\">My Link</a>";
var node = HtmlNode.CreateNode(html);
string value = node.InnerHtml; // "My Link"

答案 1 :(得分:2)

string html = "<a href=\"#\">My Link</a>";
XElement elem = XElement.Parse(html);
Console.WriteLine(elem.Value);  // output: My Link