1

我有点重复这个问题,因为主要是由于我自己的无知,我无法完全理解内幕。

鉴于此 HTML 片段

<td valign=top class="tim_new">
  <a href="/stocks/company_info/pricechart.php?sc_did=MI42" class="tim_new">3M India</a>
</td>
<td class="tim_new" valign=top>
  <a href='/stocks/marketstats/indcomp.php?optex=NSE&indcode=Diversified' class=tim>Diversified</a>
</td>

这个 XPATH 如何//a[@class='tim_new']区分第 1 行和第 2 行。

4

1 回答 1

2

分解您的 XPath:

//- 这将在 XML 中的任何位置搜索匹配项,而不是寻找明确的“路径”。

a- 这将匹配所有a元素。因此,您的其他元素(td在这种情况下)将被忽略。

[@class='tim_new']- 这将匹配一个class名为tim_new.

因此,总的来说,您的 XPath 将在输入 XML(在本例中为 HTML)中到处寻找一个a元素,该元素的属性class值为tim_new.

如果你想匹配td元素,你会使用//td[@class='tim_new'].

于 2010-06-08T09:09:45.863 回答