我試圖<td>
從結果集中排除三個元素:
<td>
🥇
</td>
<td>
🥈
</td>
<td>
🥉
</td>
我試過使用:
td[not(contains(., '🥈'))]
例如,但我不想要的元素仍然回來了......
uj5u.com熱心網友回復:
在 xpath 運算式中,需要使用宿主語言的轉義約定。如果主機是 XSLT,則使用 &-escaping 沒問題,但如果它是 JavaScript,例如,您將需要使用反斜杠轉義。
uj5u.com熱心網友回復:
為了避免轉義約定的迷宮,只需使用文字 Unicode 字符本身,可以搜索這些字符,然后從Compart等網站復制和粘貼:
字符物體參考 | 文字 Unicode | XPath |
---|---|---|
🥇 |
?? | //td[not(contains(.,'??'))] |
🥈 |
?? | //td[not(contains(.,'??'))] |
🥉 |
?? | //td[not(contains(.,'??'))] |
這是一個 XPath 2.0 運算式,它將選擇td
檔案中的所有元素,除了那些只包含目標特殊字符的元素:
//td[not(normalize-space() = ('??', '??','??'))]
在 XPath 1.0 中,您必須單獨寫出子句:
//td[not(normalize-space() = '??') and
not(normalize-space() = '??') and
not(normalize-space() = '??')]
根據口味通過 DeMorgan 重新排列。contains()
如果您真的想通過子字串包含而不是字串值相等進行測驗,請回傳。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/316708.html
上一篇:可繪制檔案在暗模式下不會改變顏色