我目前有一個程序可以根據查找帶有匹配id的標籤來查找和編輯HTML文件。在HtmlAgility HtmlDocument中查找匹配原始Html的節點
我想擴展它發現有匹配的innerHTML標籤(忽略大小寫和空格)
什麼是使用HTML敏捷做到這一點的好辦法?我想用Html Agility來做,因爲程序的其餘部分正在使用它。
謝謝。
我目前有一個程序可以根據查找帶有匹配id的標籤來查找和編輯HTML文件。在HtmlAgility HtmlDocument中查找匹配原始Html的節點
我想擴展它發現有匹配的innerHTML標籤(忽略大小寫和空格)
什麼是使用HTML敏捷做到這一點的好辦法?我想用Html Agility來做,因爲程序的其餘部分正在使用它。
謝謝。
粗糙的拍攝在這裏,但你應該能夠做這樣的事情:
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;
}
}
}
我認爲這應該是node.InnerHtml,而不是node.InnerText :) – 2009-03-03 23:26:56
我們已經做到了這一點使用正則表達式。 像這樣的東西適用於我們:
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;
}
希望這會有所幫助。 :)
嘿,我注意到有一個HtmlAgilityPack標籤...出於某種原因,我不能標記這個(可能缺乏代表),但它可能會有助於其他人,如果這個問題被標記。 - 乾杯,斯科特。 – 2009-03-03 22:00:08