Html XPath前向轴为';I don’我没料到会工作

Html XPath前向轴为';I don’我没料到会工作,html,xml,xpath,Html,Xml,Xpath,我有一个问题,这可能是一个理解问题,而不是一个问题,但我想看看是否有人能给我一个关于我做错了什么的线索或提示 我有5个td元素。如下 <td class="someTDClass1"> <span class="aSPANClass"> <div class="theDivClass"> </div> </span> </td> <td class="someTDCla

我有一个问题,这可能是一个理解问题,而不是一个问题,但我想看看是否有人能给我一个关于我做错了什么的线索或提示

我有5个
td
元素。如下

<td class="someTDClass1">
    <span class="aSPANClass">
        <div class="theDivClass">
        </div>
    </span>
</td>

<td class="someTDClass2">
    <span class="aSPANClass">
        <div class="theDivClass">
        </div>
    </span>
</td>

<td class="someTDClass1">
    <span class="aSPANClass">
        <div class="theDivClass">
        </div>
    </span>
</td>

<td class="someTDClass3">
    <span class="aSPANClass">
        <div class="theDivClass">
        </div>
    </span>
</td>

<td class="someTDClass2">
    <span class="aSPANClass">
        <div class="theDivClass">
        </div>
    </span>
</td>

XPath只选择4个
td
元素而不是5个元素的原因是
前面的::
轴不包含祖先,因此最后一个
td
没有作为前一个元素存在的
div

改变

//span/div[@class='theDivClass']/preceding::td


您将按预期选择所有5个
td
元素。

非常感谢您的帮助。我认为这是沿着这些线的东西,甚至没有想到祖先轴。
//span/div[@class='theDivClass']/preceding::td
//div[@class='theDivClass']/ancestor::td