using System.Collections.Generic;
public static void Main()
public static void BuildImageSiteMap(){
string domainUrl = @"https://www.ynet.co.il/home/0,7340,L-8,00.html";
Uri inputUri = new Uri(domainUrl);
string host =inputUri.Scheme +Uri.SchemeDelimiter +inputUri.Host;
List<string> links = GetLinkTags(domainUrl);
GenerateImageSiteMap(domainUrl, links);
private static void GenerateImageSiteMap(string domainUrl, List<string> links){
StringBuilder builder = new StringBuilder();
builder.Append("<urlset>");
foreach(string url in links){
List<Image>images = GetImgTags(url);
builder.Append("<loc>"+url+"</loc>");
foreach(Image img in images){
builder.Append("<image:image>");
builder.Append("<image:loc>"+img.Src+"</image:loc>");
builder.Append("<image:title>"+img.Alt+"</image:title>");
builder.Append("</image:image>");
builder.Append("</url>");
builder.Append("</urlset>");
string xmlResult = builder.ToString();
Console.WriteLine(xmlResult);
private static List<string> GetLinkTags(string baseUrl){
List<string> links = new List<string>();
HtmlWeb hw = new HtmlWeb();
HtmlDocument doc = new HtmlDocument();
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
string href = link.GetAttributeValue("href", string.Empty);
private static List<Image> GetImgTags(string url){
HtmlWeb hw = new HtmlWeb();
HtmlDocument doc = hw.Load(url);
List<Image> images = new List<Image>();
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//img"))
i.Src = link.GetAttributeValue("src", string.Empty);
i.Alt = link.GetAttributeValue("alt", string.Empty);
Console.WriteLine(i.Alt);
public string Src{get;set;}
public string Alt {get;set;}