HtmlAgilityPack - 如何通过Id获取标签?

时间:2016-05-10 05:53:04

标签: c# html-agility-pack

我有一项任务要做。我需要检索特定tag的{​​{1}}或hrefid基于用户输入)。 示例我有id这样的

html

我已经有了这段代码。请帮我。谢谢

<manifest>

<item href="Text/Cover.xhtml" id="Cov" media-type="application/xhtml+xml" />
    <item href="Text/Back.xhtml" id="Back" media-type="application/xhtml+xml" />
  </manifest>

2 个答案:

答案 0 :(得分:29)

如果我理解正确的话:

HtmlAgilityPack.HtmlDocument document2 = new HtmlAgilityPack.HtmlDocument();
document2.Load(@"C:\try.html");

string tag = document2.GetElementbyId("yourid").Name;
string href = document2.GetElementbyId("yourid").GetAttributeValue("href", "");

答案 1 :(得分:5)

您可以使用以下XPath按item属性值查找id元素:

var id = "Back";
var query = $"//manifest/item[@id='{id}']";
HtmlNode node = document2.DocumentNode.SelectSingleNode(query);
string href = node.GetAttributeValue("href", "");