Reputation: 121
I want to parse the following HTML.
What I currently have is
var node = document.DocumentNode.SelectSingleNode("//div[@class='wrapper']");
The html is
<div class="wrapper">
<ul>
<li data="334040566050326217">
<span>test1</span>
</li>
<li data="334040566050326447">
<span>test2</span>
</li>
</ul>
I need to get the number from the li data
and the value between the span
tag. Any help appreciated.
Upvotes: 3
Views: 5551
Reputation: 2011
Something like this might suit your needs.
//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);
}
Upvotes: 6