回答
一輪嘗試用另一種方式:
//a[@class='specified_string']/@href
畢竟,class
是<a>
元素的屬性,而不是href
屬性的屬性。
是的我認爲它的工作原理,但問題是,查詢返回屬性,我想檢索屬性的值。我用Java編寫它,它返回了長度爲2的NodeList。當我嘗試打印出來時,它只打印兩個xml頭文件: <?xml version =「1.0」encoding =「UTF-8」?> ?xml version =「1.0」encoding =「UTF-8」?> 二,只有兩個鏈接,查詢將匹配,所以它似乎工作。但我想要得到這個hrefs的價值。怎麼做? – l245c4l 2010-04-22 14:51:47
'NodeList'應該包含表示'href'屬性的'Node'列表。所以在這些節點上運行'getNodeValue()'應該給你'href'屬性'值。 – ndim 2010-04-22 15:00:14
這不適用於我的情況,雖然我認爲它是完全正確的。我的Chrome可以使用'// @ [@ name =「topic」]來提取正確的元素。但'// @ [@ name =「topic」]/@ href'返回[,,,,]的列表,就好像沒有href屬性一樣。這是一個「一個元素」作爲例子:XXX – Skywalker326 2016-07-06 01:58:03
你基本上說你正在尋找一個名爲href
的屬性,它的屬性(這是錯誤)class
應該等於specified_string
。
但是您需要查找元素a
的屬性href
,其屬性class
爲specified_string
。
(NDIM的答案重疊礦)
的屬性不能有屬性。只有元素可以具有屬性。
原始XPath表達式:
//a/@href[@class='specified_string']
選擇任何href
任何a
元素的屬性,使得href
屬性具有屬性class
,其值是'specified_string'
。
你想要的是:
//a[@class='specified_string']/@href
那就是:有class
屬性附加傷害值爲'specified_string'
任何a
元素的href
屬性。
錨標記中沒有類屬性我只有href。它使用//*[@href='value']
進行標識,但//*a[@href='value']
不起作用
- 1. 的XPath選擇所有文本(),但不能從特定的標籤/ class屬性
- 2. 在屬性href中查找具有特定字符串的所有「A」標籤?
- 3. 基於Linq查詢的整數屬性值爲字符串屬性指定值
- 4. XPath查詢:從標籤獲取屬性href
- 5. XPath:選擇具有特殊字符特定屬性的元素
- 6. Xpath測試的祖先屬性不等於字符串
- 7. 的XPath選擇屬性
- 8. XPath來選擇具有特定屬性
- 9. 選擇爲獲得所有標籤具有特定屬性和
- 10. 選擇不屬於另一個對象屬性的字符串
- 11. 具有指定屬性值且具有指定屬性值的後代的XPath選擇器
- 12. XSLT如果 - 屬性等於字符串
- 13. 屬性選擇magento查詢
- 14. Linq查詢,選擇基於屬性值
- 15. 設置標題標籤的字符串屬性清除另一個標籤的字符串屬性在BeautifulSoup
- 16. 如果屬性等於預定義的字符串,選擇一個節點
- 17. 通過XPATH選擇輸入標籤的屬性值的內容
- 18. D3等同於jQuery的屬性選擇
- 19. 選擇屬性值,其中另一個屬性等於特定的字符串值
- 20. XPath查找非法字符的屬性
- 21. 排除查詢中除指定屬性以外的所有屬性 - Eloquent Laravel 4.2
- 22. 使用XPath通配符選擇屬性
- 23. 由子屬性XPath查詢
- 24. 使用xpath選擇具有屬性的所有節點
- 25. 有效使用<a>(錨標籤)沒有href屬性?
- 26. 屬性路由和查詢字符串
- 27. DynamoDB在查詢字符串屬性
- 28. 查找具有特定屬性值的所有標籤
- 29. XPATH選擇具有屬性和文本
- 30. 選擇所需的屬性
由於類屬性可能包含以空格分隔的多個類名,所以您可能實際上想要:'// a [contains(concat('',normalize-space(@class) ,''),'some_class_name')]/@ href' – singpolyma 2011-04-29 20:15:25
@singpolyma:好點。只是一個挑剔的問題:它是''some_class_name''(帶有空格),* not *''some_class_name''。 – kmkaplan 2012-04-25 09:31:12