首页 文章

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

提问于
浏览
11

我有一项任务要做 . 我需要检索特定 idtaghrefid 来自用户输入) . 示例我有一个像这样的 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>

我已经有了这个代码 . 请帮我 . 谢谢

HtmlAgilityPack.HtmlDocument document2 = new 

HtmlAgilityPack.HtmlDocument();
document2.Load(@"C:\try.html");
HtmlNode[] nodes = document2.DocumentNode.SelectNodes("//manifest").ToArray();

foreach (HtmlNode item in nodes)
{
    Console.WriteLine(item.InnerHtml);
}

2 回答

  • 19

    如果我理解正确的话:

    HtmlAgilityPack.HtmlDocument document2 = new HtmlAgilityPack.HtmlDocument();
    document2.Load(@"C:\try.html");
    
    string tag = document2.GetElementbyId("yourid").Name;
    string href = document2.GetElementbyId("yourid").GetAttributeValue("href", "");
    
  • 4

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

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

相关问题