选择xml中的第一个元素

时间:2016-06-29 18:35:47

标签: xml xpath

我有像这样的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

2 个答案:

答案 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本。