使用HtmlAgilityPack解析HTML变量,而不是HTML文档

本文关键字:HTML 文档 变量 HtmlAgilityPack 解析 使用 | 更新日期: 2023-09-27 17:52:57

我的程序中有一个变量,它包含HTML数据作为字符串。变量htmlText包含如下内容:

<ul><li><u>Mode selector </u></li><li><u>LAND ALT</u></li>

我想迭代这个HTML,使用HtmlAgilityPack,但我看到的每个例子都试图将HTML加载为文档。我已经有了我想在变量htmlText中解析的HTML。有人能告诉我如何解析这个,没有加载它作为一个文档?

我现在看的例子是这样的:

static void Main(string[] args)
{
    var web = new HtmlWeb();
    var doc = web.Load("http://www.stackoverflow.com");
    var nodes = doc.DocumentNode.SelectNodes("//a[@href]");
    foreach (var node in nodes)
    {
            Console.WriteLine(node.InnerHtml);
    }
}

我想将其转换为使用我的htmlText并找到所有underline元素。我只是不想将其作为文档加载,因为我已经将要解析的HTML存储在变量中

使用HtmlAgilityPack解析HTML变量,而不是HTML文档

可以使用HtmlDocument类的LoadHtml方法

Document只是一个名字,它不是一个真正的文档(或者不必是)。

var doc = New HtmlAgilityPack.HtmlDocument;
string myHTML = "<ul><li><u>Mode selector </u></li><li><u>LAND ALT</u></li>";
doc.LoadHtml(myHTML);
foreach (var node in doc.DocumentNode.SelectNodes("//a[@href]")) {
    Console.WriteLine(node.InnerHtml);
}

我已经使用了完全相同的东西来解析变量中的html块