العثور على عقدة من مطابقة الاكواد الخام في HtmlAgility HtmlDocument
-
03-07-2019 - |
سؤال
ولدي حاليا برنامج يجد وتحرير ملفات HTML على أساس إيجاد علامة مع معرف مطابقة.
وأود أن أتقدم إلى العثور على العلامة التي تمت مطابقة Html داخلي (تجاهل القيمة وبيضاء)
ما هو وسيلة جيدة لاستخدام الاكواد أجيليتي للقيام بذلك؟ وأود أن تفعل ذلك باستخدام الاكواد أجيليتي لأن بقية البرنامج هو استخدامه.
وشكرا.
المحلول
والخام اطلاق النار هنا ولكن يجب أن تكون قادرة على القيام بشيء من هذا القبيل:
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("YOUR_TAG_SELECTOR");
if (nodes != null)
{
foreach (HtmlNode node in nodes)
{
if (node.InnerHtml.ToLower().Trim() == "YOUR_MATCH")
{
//success routine
break;
}
}
}
نصائح أخرى
لقد فعلت ذلك باستخدام التعبيرات المعتادة. شيء من هذا القبيل يعمل بالنسبة لنا:
private static List<HtmlNode> GetMatchingNodes(string xPath, string pattern, HtmlDocument htmlDocument)
{
List<HtmlNode> matchingNodes = new List<HtmlNode>();
foreach (HtmlNode node in htmlDocument.DocumentNode.SelectNodes(xPath))
{
if (Regex.IsMatch(node.InnerHtml, pattern))
{
matchingNodes.Add(node);
}
}
return matchingNodes;
}
ويساعد هذا الأمل. :)
لا تنتمي إلى StackOverflow