[英]How to remove <a> elements from xPath?
我正在使用HTMLAgilityPack在C#中進行應用。
我有以下HTML結構:
<td colspan="3">
<a href="tournament_detail.asp?EID=3">The North West Junior Champions League 2016</a>
<br>
St Bedes Sports Fields, Manchester. M21 0TT</td>
</td>
我想提取地址,但不包括<a>
和<br />
我嘗試了以下方法:
//div[@class='infobox']/table/tr/td[1][not a]
我正在使用HTMLAgilityPack,所以我不相信我可以使用string()函數(或者嘗試時至少出現異常)。 請不要將此標記為重復,因為我正在尋求澄清是否可以使用。
我該如何僅退回地址?
添加謂詞[not(a)]
將導致XPath僅返回沒有子元素<a>
<td>
元素,這不是想要的結果。 而是添加/text()[normalize-space()]
,它將從所選的<td>
返回直接子級非空文本節點 :
var raw = @"<td colspan='3'>
<a href='tournament_detail.asp?EID=3'>The North West Junior Champions League 2016</a>
<br>
St Bedes Sports Fields, Manchester. M21 0TT</td>";
var doc = new HtmlDocument();
doc.LoadHtml(raw);
var td = doc.DocumentNode.SelectSingleNode("//td/text()[normalize-space()]");
Console.WriteLine(td.InnerText.Trim());
輸出:
St Bedes Sports Fields, Manchester. M21 0TT
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.