在html中抓取以下两个块时的正则表达式与xpath

时间:2016-04-27 11:18:01

标签: html regex xpath

我试图在html文件中抓取两个div块。

<...>
  <div id="test">
  ...
  </div>
  <div id="test2">
  ...
  </div>
  ...
</...>

这只是一个非常简单的例子。 基本上我想找到两个块,我可以单独找到一个xpath,如“./div[@id="test”]“和”./div[@id="test2“]”。 但是我想要同时捕获两个div,并希望确保两个块彼此相邻。 这可以在XPath中完成,还是应该更好地使用正则表达式?

由于 学家

1 个答案:

答案 0 :(得分:2)

要查找您想要使用此类Xpath

的div
//div[@id="test"][following::*[1][name() = "div" and @id="test2"]]

它找到了div与@id =&#34; test&#34;并且后面的第一个元素是@id =&#34; test2&#34;

不幸的是我们不能将变量用于临时结果,所以我们需要写两次以获取两个div

//div[@id="test"][following::*[1][name() = "div" and @id="test2"]] | 
//div[@id="test"][following::*[1][name() = "div" and @id="test2"]]/following::*[1]