I want to develop a program which can count the html tags in source code, so i write a code for fetching source code of site like this.

```
WebRequest req = HttpWebRequest.Create("http://google.com");
req.Method = "GET";
string source;

using (StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream()))
{
    source = reader.ReadToEnd();
}

```

with this way i can fetch the source code of site and binding to string.
Next what i want is controlling the string and counting
`html` `/html` `body` `/body` `p` `/p` bla bla bla.
What is the LINQ way of counting all html tags in source and showing results like

> 
> HTML: 2
> 
> 
> BODY:2
> 
> 
> UL:42
> 
> 
>