簡體   English   中英

Powershell 中的 HtmlAgilityPack 通配符搜索

[英]HtmlAgilityPack Wildcard Search in Powershell

我怎樣才能縮短以下內容?

$contactsBlock是一個 HTMLAgilityPack 節點,XPath: /html[1]/body[1]/div[3]/div[2]/div[2]/div[1]/div[1]/div[2]/div[1]/div[3]/div[5]/div[1]/div[2]

$contactsBlock.SelectSingleNode(".//table").SelectSingleNode(".//table")

結果在所需的 XPath: /html[1]/body[1]/div[3]/div[2]/div[2]/div[1]/div[1]/div[2]/div[1]/div[3]/div[5]/div[1]/div[2]/table[1]/tr[2]/td[1]/div[1]/div[2]/table[1]

第二個表嵌套在第一個表中,我想將上面的SelectSingleNode縮短兩次為這樣的

$contactsBlock.SelectSingleNode(".//table/*/table")並跳過中間部分。

有沒有辦法像這樣使用通配符?

XPath 表達式.//table//table應該匹配當前節點下其他表中嵌套的所有表。 雙正斜杠匹配任意長度的路徑。

.//table/*/table不太可能給你一個匹配,因為星號通配符匹配一個節點(即一個層次結構),所以嵌套表必須是第一個表的孫節點:

<table>
  <tr>
    
  
 
  
  
    <table>...</table> 
     <!-- nested table would have to go here -->
  </tr>
</table>

這將是非常不尋常的。 也不符合您問題中 XPath 表達式建議的結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM