在HTML解析时获取列表元素

本文关键字:获取 列表元素 HTML | 更新日期: 2023-09-27 18:18:05

我有一段这样的HTML:

<li class="myclass">
            <ul class="myclass2">
                <li><span>Name1</span><span>Value1</span></li><li><span>Name2</span><span>Value2</span></li><li><span>Name3</span><span>Value3</span></li>
            </ul>
        </li>

我试图解析这个HTML像这样使用HTML敏捷包:

var values = mydetails.DocumentNode.QuerySelector(".myclass").QuerySelector("ul").InnerHtml;

这给了我这部分:

<li><span>Name1</span><span>Value1</span></li><li><span>Name2</span><span>Value2</span></li><li><span>Name3</span><span>Value3</span></li>

但是我不知道如何更进一步,我需要名称和值,但我不知道如何获得它们。你能告诉我怎么做吗?谢谢。

在HTML解析时获取列表元素

你应该给你的项目一个html-id,然后它应该很容易在javascript中获得这个元素。我不知道你的框架,但在其他情况下,这很容易,例如在jQuery: $("#id")

您可以使用正则表达式从所有标记中获取值

public void ProcessSpans(string inputHTML)
{
    string pattern = @"<span([^>]*)class='""('w+)'""([^>]*)>(.*)<'/span>";
    RegexOptions regexOptions = RegexOptions.Multiline;
    Regex regex = new Regex(pattern, regexOptions);
    var matches = regex.Matches(inputHTML);
    //Process the matches with your logic. 
}

然后像这样调用方法

var values = mydetails.DocumentNode.QuerySelector(".myclass").QuerySelector("ul").InnerHtml;
ProcessSpans(values);