如何指定 return 整个 table 没有最后一行的 Xpath?
How to specify Xpath that return whole table without last row?
这里是table的代码。我需要提取整个 table 而没有最后一行。
整个table:
<table class="product-content__table">
<tr><th class="product-content__th">Состав</th><td>нержавеющая сталь, натуральная кожа </td></tr>
<tr><th class="product-content__th">Ширина</th><td>2 см</td></tr><tr><th class="product-content__th">Цвет</th><td>серый </td></tr>
<tr><th class="product-content__th">Страна производства</th><td>Россия </td></tr><tr><th class="product-content__th">Сезон</th><td>Мульти </td></tr>
<tr><th class="product-content__th">Коллекция</th><td>Весна-лето </td></tr>
<tr><th class="product-content__th">Артикул</th><td itemprop="sku">RO003DMCMA98</td></tr>
</table>
我需要提取整个 table 而没有这一行:
<tr><th class="product-content__th">Артикул</th><td itemprop="sku">RO003DMCMA98</td></tr>
<td>
是 <th>
的兄弟而不是 child 所以你实际上不需要 th
在你的 xpath 中。并且您想过滤掉同一个 table
中的最后一个 tr
而不是过滤掉同一个 tr
中的最后一个 td
:
//table[@class="product-content__table"]//tr[position() < last()]/td
如果您想获取 <tr>
而不是 <td>
的列表,请删除尾随 /td
。
这个有效:
//table//tr[position()<last()]
I need all tags including table tag.
XPath 只能 select 输入中存在的节点。如果您的输入中有一个包含五行的 table 元素,而您想要一个包含四行的 table 元素,那么您的输入中没有这样的 table 元素,因此您不能 select 它与 XPath。如果你想获得一个不同于输入中任何节点的节点,你需要 XSLT 或 XQuery。
这里是table的代码。我需要提取整个 table 而没有最后一行。
整个table:
<table class="product-content__table">
<tr><th class="product-content__th">Состав</th><td>нержавеющая сталь, натуральная кожа </td></tr>
<tr><th class="product-content__th">Ширина</th><td>2 см</td></tr><tr><th class="product-content__th">Цвет</th><td>серый </td></tr>
<tr><th class="product-content__th">Страна производства</th><td>Россия </td></tr><tr><th class="product-content__th">Сезон</th><td>Мульти </td></tr>
<tr><th class="product-content__th">Коллекция</th><td>Весна-лето </td></tr>
<tr><th class="product-content__th">Артикул</th><td itemprop="sku">RO003DMCMA98</td></tr>
</table>
我需要提取整个 table 而没有这一行:
<tr><th class="product-content__th">Артикул</th><td itemprop="sku">RO003DMCMA98</td></tr>
<td>
是 <th>
的兄弟而不是 child 所以你实际上不需要 th
在你的 xpath 中。并且您想过滤掉同一个 table
中的最后一个 tr
而不是过滤掉同一个 tr
中的最后一个 td
:
//table[@class="product-content__table"]//tr[position() < last()]/td
如果您想获取 <tr>
而不是 <td>
的列表,请删除尾随 /td
。
这个有效:
//table//tr[position()<last()]
I need all tags including table tag.
XPath 只能 select 输入中存在的节点。如果您的输入中有一个包含五行的 table 元素,而您想要一个包含四行的 table 元素,那么您的输入中没有这样的 table 元素,因此您不能 select 它与 XPath。如果你想获得一个不同于输入中任何节点的节点,你需要 XSLT 或 XQuery。