Xpath帮助-选择一个节点,然后选择子节点

甘德斯

我很困惑为什么以及如何执行此查询。

我的html结构是这样的(表嵌套在表中):

<root>
<table>
</table>
<table>
 <tr>
  <td>
   <table>
    <tr>
     <td></td>
     <td></td>
    </tr>
    <tr>
     <td></td>
     <td></td>
    </tr>
    <tr>
     <td></td>
     <td></td>
    </tr>
    <tr>
     <td></td>
     <td></td>
    </tr>
   </table>
  </td>
 </tr>
</table>
</root>

如果我像这样开始我的xpath:

var tables = blah.SelectNodes("//table");

返回3个父表,然后我要从第二个tr中选择td,如下所示:

var td = tables[2].SelectNodes("//tr[2]/td");

但是,当我这样做时,它又回到了父级/根级“ blah”级别。为什么会这样,以及如何继续过滤搜索结果呢?

注意:示例xml结构可能不直接匹配编写的查询,只是试图给出一个大致的想法...

肯·怀特

只是继续扩展 XPath

这个返回<tr>第二个表项目(其中四个):

/table/tr/td/table/tr

这返回第二<tr>项:

/table/tr/td/table/tr[2]

不过,最好的办法是为id每个表赋予单独的属性,以便您可以使用该属性直接找到它。

使用这样的东西:

<root>
  <table id="1">
  </table>
  <table id="2">
    <tr>
      <td>
        <table id="3">
          <tr>
            <td></td>
            <td></td>
          </tr>
          <tr>
            <td></td>
            <td></td>
          </tr>
        </table>
      </td>
    </tr>
   </table>
</root>

您可以使用以下命令在最里面的表中获取项目:

//table[@id="3"]

您可以<td>从最里面的表中获取单个项目,方法是:

//table/tr/td/table/tr[2]/td[1]

分配id属性会使它变得更简单(请注意/tr/td第一个之后的缺失table):

//table[@id="3"]/tr[2]/td[1]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

XPath-选择一个名称相同的所有子节点本身都具有特定子节点的节点

来自分类Dev

XPath-选择一个名称相同的所有子节点本身都具有特定子节点的节点

来自分类Dev

XPath根据另一个节点的位置按位置选择一个节点

来自分类Dev

使用xpath选择一个属性值最大的节点

来自分类Dev

Xpath选择当前节点的下一个父节点

来自分类Dev

当节点前没有pcdata时,XPath选择第一个节点

来自分类Dev

子节点上的 XPath 选择

来自分类Dev

xpath选择节点文本和子节点

来自分类Dev

xpath选择节点文本和子节点

来自分类Dev

Xpath 必需:根据第一个节点的子节点获取兄弟节点的子节点

来自分类Dev

如何选择一个XML节点?(使用LINQ,XPath,一切都很好)

来自分类Dev

如何选择一个XML节点?(使用LINQ,XPath,一切都很好)

来自分类Dev

XPath选择嵌套XML结构中的最后一个节点?

来自分类Dev

根据python xpath中另一个的值选择xml节点

来自分类Dev

使用XPath获取节点的每个子节点的第一个子节点

来自分类Dev

XPath选择所有同级和子节点,直到下一个自封闭元素的下一次出现

来自分类Dev

XPath按节点,子节点和子子节点条件选择节点

来自分类Dev

XPath按节点,子节点和子子节点条件选择节点

来自分类Dev

使用xpath选择某些子节点

来自分类Dev

通过子节点的完全匹配选择的XPath

来自分类Dev

使用xpath选择某些子节点

来自分类Dev

XPath-选择所有唯一属于该类型的子节点的节点

来自分类Dev

XPath在子节点中时选择父节点

来自分类Dev

XPath选择没有特定值的子节点的XML节点?

来自分类Dev

XPath表达式,如果属性匹配则选择一个节点,否则选择不具有该属性的节点

来自分类Dev

XPath查询以选择节点

来自分类Dev

XPath选择匹配的节点

来自分类Dev

使用XPath选择节点

来自分类Dev

XPath查询以选择节点

Related 相关文章

  1. 1

    XPath-选择一个名称相同的所有子节点本身都具有特定子节点的节点

  2. 2

    XPath-选择一个名称相同的所有子节点本身都具有特定子节点的节点

  3. 3

    XPath根据另一个节点的位置按位置选择一个节点

  4. 4

    使用xpath选择一个属性值最大的节点

  5. 5

    Xpath选择当前节点的下一个父节点

  6. 6

    当节点前没有pcdata时,XPath选择第一个节点

  7. 7

    子节点上的 XPath 选择

  8. 8

    xpath选择节点文本和子节点

  9. 9

    xpath选择节点文本和子节点

  10. 10

    Xpath 必需:根据第一个节点的子节点获取兄弟节点的子节点

  11. 11

    如何选择一个XML节点?(使用LINQ,XPath,一切都很好)

  12. 12

    如何选择一个XML节点?(使用LINQ,XPath,一切都很好)

  13. 13

    XPath选择嵌套XML结构中的最后一个节点?

  14. 14

    根据python xpath中另一个的值选择xml节点

  15. 15

    使用XPath获取节点的每个子节点的第一个子节点

  16. 16

    XPath选择所有同级和子节点,直到下一个自封闭元素的下一次出现

  17. 17

    XPath按节点,子节点和子子节点条件选择节点

  18. 18

    XPath按节点,子节点和子子节点条件选择节点

  19. 19

    使用xpath选择某些子节点

  20. 20

    通过子节点的完全匹配选择的XPath

  21. 21

    使用xpath选择某些子节点

  22. 22

    XPath-选择所有唯一属于该类型的子节点的节点

  23. 23

    XPath在子节点中时选择父节点

  24. 24

    XPath选择没有特定值的子节点的XML节点?

  25. 25

    XPath表达式,如果属性匹配则选择一个节点,否则选择不具有该属性的节点

  26. 26

    XPath查询以选择节点

  27. 27

    XPath选择匹配的节点

  28. 28

    使用XPath选择节点

  29. 29

    XPath查询以选择节点

热门标签

归档