1

我必须定义 xpath 来访问第二个跨度文本,以解析加载到 AgilityPack 文档的以下名称-值 html 结构(见下文)。我会使用 xpath 和 C# 执行以下查询:

var valueSpan = doc.SelectNodes("//div[@class='container']/div[@class='value2' and ???]/span[2]");

问题:我不能为“第二个匹配的 div 与 class==”value2”编写 xpath 选择器。是否可以使用 xpath 选择第二个“value2”div 或者应该通过索引“容器”节点的子节点来完成(实际兄弟“value2”的索引可能会有所不同)?

<div class="container">
  <div class="value1">
    <span class="name">Title 1</span>
    <span class="value">some value</span>
  </div>
  <div class="value2">
    <span class="name">Title 2.1</span>
    <span class="value">some value</span>
  </div>
  <div class="value2">
    <span class="name">Title 2.2</span>
    <span class="value">some value</span>
  </div>
  <div class="value3">
    <span class="name">Title 3</span>
    <span class="value">some value</span>
  </div>
</div>
4

1 回答 1

0

采用:

//div[@class='container']/div[@class='value2'][2]
于 2013-03-19T02:45:06.887 回答