2009-03-03 47 views
0

我目前有一個程序可以根據查找帶有匹配id的標籤來查找和編輯HTML文件。在HtmlAgility HtmlDocument中查找匹配原始Html的節點

我想擴展它發現有匹配的innerHTML標籤(忽略大小寫和空格)

什麼是使用HTML敏捷做到這一點的好辦法?我想用Html Agility來做,因爲程序的其餘部分正在使用它。

謝謝。

+0

嘿,我注意到有一個HtmlAgilityPack標籤...出於某種原因,我不能標記這個(可能缺乏代表),但它可能會有助於其他人,如果這個問題被標記。 - 乾杯,斯科特。 – 2009-03-03 22:00:08

回答

1

粗糙的拍攝在這裏,但你應該能夠做這樣的事情:

  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; 
        } 
       } 
      } 
+0

我認爲這應該是node.InnerHtml,而不是node.InnerText :) – 2009-03-03 23:26:56

1

我們已經做到了這一點使用正則表達式。 像這樣的東西適用於我們:

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

希望這會有所幫助。 :)

相關問題