HtmlAgilityPack - 如何通过 Id 获取标签?
HtmlAgilityPack - How to get the tag by Id?
我有任务要做。我需要检索特定 id
的 tag
或 href
(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>
我已经有了这个代码。请帮我。谢谢
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);
}
您可以使用以下 XPath 通过其 id
属性值查找 item
元素:
var id = "Back";
var query = $"//manifest/item[@id='{id}']";
HtmlNode node = document2.DocumentNode.SelectSingleNode(query);
string href = node.GetAttributeValue("href", "");
如果我理解正确的话:
HtmlAgilityPack.HtmlDocument document2 = new HtmlAgilityPack.HtmlDocument();
document2.Load(@"C:\try.html");
string tag = document2.GetElementbyId("yourid").Name;
string href = document2.GetElementbyId("yourid").GetAttributeValue("href", "");
我有任务要做。我需要检索特定 id
的 tag
或 href
(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>
我已经有了这个代码。请帮我。谢谢
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);
}
您可以使用以下 XPath 通过其 id
属性值查找 item
元素:
var id = "Back";
var query = $"//manifest/item[@id='{id}']";
HtmlNode node = document2.DocumentNode.SelectSingleNode(query);
string href = node.GetAttributeValue("href", "");
如果我理解正确的话:
HtmlAgilityPack.HtmlDocument document2 = new HtmlAgilityPack.HtmlDocument();
document2.Load(@"C:\try.html");
string tag = document2.GetElementbyId("yourid").Name;
string href = document2.GetElementbyId("yourid").GetAttributeValue("href", "");