如何从XPATH获取URL
本文关键字:获取 URL XPATH | 更新日期: 2023-09-27 18:22:10
我试着在这个网站上检查其他答案,但没有一个对我有效。我有以下HTML代码:
<h3 class="x-large lheight20 margintop5">
<a href="http://someUrl.com" class="marginright5 link linkWithHash detailsLink"><strong>some textstring</strong></a>
</h3>
我正试图用以下代码从该文档中获取#:
string adUrl = Doc.DocumentNode.SelectSingleNode("//*[@id='"offers_table'"]/tbody/tr["+i+ "]/td/table/tbody/tr[1]/td[2]/div/h3/a/@href").InnerText;
我也试着在没有@href
的情况下做到这一点。也尝试使用a[contains(@href, 'searchString')]
。但所有这些行只给了我链接的名称-一些文本字符串
属性没有InnerText
。您必须使用Attributes
集合。
string adUrl = Doc.DocumentNode.SelectSingleNode("//*[@id='"offers_table'"]/tbody/tr["+i+ "]/td/table/tbody/tr[1]/td[2]/div/h3/a")
.Attributes["href"].Value;
为什么不直接使用XDocument类?
private string GetUrl(string filename)
{
var doc = XDocument.Load(filename)
foreach (var h3Element in doc.Elements("h3").Where(e => e.Attribute("class"))
{
var classAtt = h3Element.Attribute("class");
if (classAtt == "x-large lheight20 margintop5")
{
h3Element.Element("a").Attribute("href").value;
}
}
}
该代码未经过测试,因此请谨慎使用。