2012-04-02 9 views
1

xpathでノードを選択する方法を探していますが、そのノード上にあるノードが存在するかどうかはわかりません。と同じように '?'正規表現で動作します)<tbody>ノードが存在するかどうかに関わらず、のようなものに関係なく、<td>に到達するxpathクエリを調べたいと思います。私はそれが両方のケースで仕事したいと思います:xpath ignore node

<table> 
<tr> 
    <td /> 
</tr> 
</table> 

<table> 
<tbody> 
    <tr> 
    <td /> 
    </tr> 
</tbody> 
</table> 

答えて

2

これは、より複雑なケースをカバーするために失敗することがありますが、この例では/table/tbody/tr/td | /table/tr/tdを使用すると、トリックを行う必要があります。

1

あなたは行うことができます。

//table/descendant::tr/td 

または

//table//tr/td 

をお好みに応じて。二重スラッシュは、「このレベルのどこかにあるか、より深く」(より正式には、descendant-or-self::軸)です。 The specは、驚くべきことに、これを非常によく読んでいます!