近くの要素を使用してXMLノードを選択する方法
-
16-09-2019 - |
質問
のXPathやHTML敏捷性パックを使用して、私はdestination
を使用してcolor:#ff00ff
テキストを選択する必要があります。
私のHTMLは次のようになります:
<table>
<tr style="color:#ff00ff">
<td></td>
</tr>
<tr>
<td>destination</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td>not destination</td>
</tr>
</table>
解決
/table/tr[@style = "color:#ff00ff"]/following-sibling::tr[1]/td[1]/text()
<tr>
を持ってstyle="color:#ff00ff"
を選択し、そして、そこから第一次<td>
の最初の<tr>
の子のテキストを行くます。
余分な安全のために、あなたが使用することができます:
tr[translate(@style, ' ', '') = "color:#ff00ff"]物事はもう少し独立したHTMLソースから取得するように、
これは、属性値からスペースを削除します。
他のヒント
それは次のようになりますjQueryのを使用します:
$('tr[style*="color:#ff00ff"]').next('tr').children().text();
このは、しかし、あなたの正確な文書構造とスタイル定義に大きく依存しています。 (正確には、スペースなし、など):これは、文字列「#FF00FFの色」を含むスタイルを持っている任意のTRを見つけます。その行から、その後、次の兄弟行を選択し、それのすべてが直接の子だから、テキストの内容を取得します。あなたのケースでは、これは単一の列要素になります。
所属していません StackOverflow