0

属性値を比較するには

<div class="asset-body">

関数 contains() および concat() を次のように使用する必要があります

contains(concat(' ',@class,' '),' asset-body ')

投稿のHow to select an element based on the value of a nested sibling in XPath? で述べたように 受け入れられた答え。

または単に使用する

@class='asset-body'

十分なものです。

4

1 に答える 1

2

class入力要素の属性で使用される値が 1 つしかないことがわかっている場合は、それで@class = 'asset-body'十分です。ただし、(X)HTML では一般に、class属性値をスペースで区切られたクラス名のリストにすることができます。最近では、CSS が広く使用されているため、さまざまなクラス名が使用されることも珍しくありません。そのため、その場合に対応するcontains(concat(' ', @class, ' '), ' asset-body ')必要があります。 . したがって、入力を制御し、入力要素で 1 つのクラス値のみが使用されていることが確実にわかっている場合は、XPath でチェックしてから短い式を使用し、それ以外の場合は長い式を使用します。

于 2012-10-31T11:44:35.890 に答える