如何使用近元素来选择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();
这在很大程度上取决于你的确切文件结构和风格的定义,虽然。它会发现有包含字符串“COLOR:#FF00FF”风格的任何TR(确切地说,没有空格等)。从该行会再选择下一个兄弟行并从所有获取文本内容是直接孩子。在您的情况下,这将是单个列元件。
不隶属于 StackOverflow