C#HtmlAgilityPack解析<ul> </ul>

时间:2012-08-22 22:29:03

标签: c# html parsing html-agility-pack

我想解析以下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标记之间的值。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:6)

这样的事情可能适合您的需求。

//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);
}