它是具有一個屬性在屬性名 開始這些節點與val
使用:
//div[@*[starts-with(name(), 'val')]]
這將選擇該文檔中的任何div
元素至少包含一個屬性,其名稱以字符串"val"
開頭。
XSLT - 基於驗證:
這種變換:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<xsl:copy-of select="//div[@*[starts-with(name(), 'val')]]"/>
</xsl:template>
</xsl:stylesheet>
當此XML文檔(從所提供的XML片段生產)上施加:
<html>
<div val1="q">a</div>
<div val2="w">b</div>
<div val3="e">c</div>
<div some="r">d</div>
<div thing="t">f</div>
<div name="y">g</div>
</html>
選擇並輸出想要的節點:
<div val1="q">a</div>
<div val2="w">b</div>
<div val3="e">c</div>
我需要獲取具有特定屬性的div元素。 沒有屬性和它們的值是 '// DIV/@ * [開始-與(名稱(), 'VAL'。)使用' – dom1nga
** **引入nokogiri我得到: ' 「
它適用於'// div/@ * [starts-with(name(。),'val')]/..' Great thx – dom1nga