我有像这样的xml,
<table>
<thead>
<tr>
<td >111111</td>
<td >ccc</td>
<td >css</td>
</tr>
</thead>
<tbody>
<tr>
<td >ccc</td>
<td >aaa</td>
<td >ddf</td>
</tr>
<tr>
<td >ss</td>
<td >MPa</td>
<td >sss</td>
</tr>
<tr>
<td >cd</td>
<td >s</td>
<td >cd</td>
</tr>
</tbody>
</table>
如何选择上述xml中的第一个td
元素。 (这里<td >111111</td>
)。如果<thead>
未出现在xml中,则应选择<td>
中的</tbody>
。
我无法打开td[1]
xpath,然后选择了td
内的所有tr
。
答案 0 :(得分:0)
使用此XPath:
TcpStream
选择所有send_buffer.extend_from_slice(kex_algorithms.as_bytes());
send_buffer.extend_from_slice(kgen_algorithms.as_bytes());
etc...
标签并返回第一个标签。
根据输入XML,此XPath可能更高效(//td)[1]
(取决于XPath引擎的智能程度)。
答案 1 :(得分:0)
您可能希望使用这样的联盟:
//thead/tr/td[1] | //tbody/tr/td[1]
如果td
存在,这将返回<td >111111</td>
s <td >ccc</td>
和thead
},如果<td >ccc</td>
不存在则返回thead
本。