XPath查找名称以给定值开头的属性

dom*_*nga 15 xpath attributes

有了这个xml:

<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>
Run Code Online (Sandbox Code Playgroud)

我们只想找到

<div val1="q">a</div>
<div val2="w">b</div>
<div val3="e">c</div>
Run Code Online (Sandbox Code Playgroud)

哪些节点具有属性名称以其开头的属性val

Fai*_*Dev 13

你可以试试这个:

//div/@*[starts-with(name(.), 'val')]
Run Code Online (Sandbox Code Playgroud)

如果你知道你正在寻找div元素的第一个属性.

编辑:

抱歉没有意识到你想要自己选择元素.您可以使用parent :: div或您所做的,但正确的方法是直接选择div本身:

//div[@*[starts-with(name(), 'val')]]
Run Code Online (Sandbox Code Playgroud)