XPath选择child-div的所有子节点,但特定类除外

时间:2015-07-28 09:07:58

标签: php xpath

我已经尝试了几个小时,无法让我的XPath选择正确的文本。这是结构:

<!-- (some divs that don't need to be selected) -->
<div class="main">
  <div>
    <div>
      <div class="select">
        <div class="child">
          <div class="divwithtext">
          </div>
        </div>
        <div class="child">
          <div class="divwithtext">
          </div>
        </div>
        <div class="child">
          <div class="divwithtext">
          </div>
        </div>
        <div class="dontselect">
          <div class="divwithtext">
          </div>
        </div>
      <div/>
    </div>
  </div>
</div>

基本上我想选择class="select"的所有孩子,这是class="main"的孩子,但我不需要class="dontselect"的文字。

注意:我使用的是XPath 1.0,因为php DOMXPath只支持1.0。

编辑:

问题是我的PHP代码没有返回XPath给我的所有结果。

1 个答案:

答案 0 :(得分:3)

一种可能的方式:

//div[@class='main']//div[@class='select']/div[not(@class='dontselect')]