العثور على عقدة من مطابقة الاكواد الخام في HtmlAgility HtmlDocument

StackOverflow https://stackoverflow.com/questions/608274

  •  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;
}

ويساعد هذا الأمل. :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top