C#HtmlAgilityPack解析

    c# html html-agility-pack parsing

    我想解析以下HTML。

    我現在擁有的是什麼

    var node = document.DocumentNode.SelectSingleNode("//div[@class='wrapper']");
    

    HTML是

    <div class="wrapper">
        <ul>
                    <li data="334040566050326217">
                        <span>test1</span>
                    </li>
                    <li data="334040566050326447">
                        <span>test2</span>
                    </li>
        </ul>
    

    我需要從li data獲取數字以及span標記之間的值。任何幫助讚賞。

    一般承認的答案

    這樣的東西可能適合您的需求。

    //Assumes your document is loaded into a variable named 'document'
    
    List<string> dataAttribute = new List<string>(); //This will contain the long # in the data attribute
    List<string> spanText = new List<string>();      //This will contain the text between the <span> tags
    HtmlNodeCollection nodeCollection = document.DocumentNode.SelectNodes("//div[@class='wrapper']//li");
    
    foreach (HtmlNode node in nodeCollection)
    {
        dataAttribute.Add(node.GetAttributeValue("data", "null"));
        spanText.Add(node.SelectSingleNode("span").InnerText);
    }
    


    Related

    許可下: CC-BY-SA with attribution
    不隸屬於 Stack Overflow
    這個KB合法嗎? 是的,了解原因
    許可下: CC-BY-SA with attribution
    不隸屬於 Stack Overflow
    這個KB合法嗎? 是的,了解原因