static void Main(string[] args)
HtmlDocument doc = new HtmlDocument();
doc.Load(@"d:\Products\SettingsConfigurator\SettingsConfigurator\sample.html");
List<string> valsWichNeeds = new List<string> { "K-029", "2, 3, 4, 5", "140", "Женские колготки 100 DEN ПРЕМИУМ КЛАССА MilanKo", "Женская коллекция", "Колготы классические", "images/katalog/3/zxq5q7bryp.jpg" };
var startNode = doc.DocumentNode.SelectSingleNode("//body");
foreach (var val in valsWichNeeds)
Console.WriteLine("Ищем Xpath для : " + val);
var xpath = searchXpath(startNode, val);
Console.WriteLine("XpAth: " + xpath);
if (!string.IsNullOrEmpty(xpath))
Console.WriteLine("Подтверждение: " + doc.DocumentNode.SelectSingleNode(xpath).InnerText);
Console.WriteLine("XPath для [" + val + "] не найден");
Console.WriteLine("Конец");
static string searchXpath(HtmlNode node, string searchText)
foreach (var child in node.ChildNodes)
var res = searchXpath(child, searchText);
if (!string.IsNullOrEmpty(res))
if (node.InnerText.Contains(searchText))
return node.XPath.Replace("#text", "/text()");