如果使用Nokogiri,下一个元素属于特定类型时,如何选择元素

时间:2017-05-30 07:22:47

标签: ruby xpath nokogiri

给出以下XML:

<w:p>
   <w:pPr>
      <w:lang w:val="en-CA"/>
   </w:pPr>
   <w:ins>
        <w:t>sections</w:t>
   </w:ins>
   <w:pPr>
      <w:lang w:val="en-CA"/>
   </w:pPr>
   <w:r>
     <w:t>I am</w:t>
   </w:r>
</w:p>

我想选择w:pPrw:ins元素后跟的w:del元素。

我试过了:

doc.xpath("w:pPr[following-sibling::w:ins[1] or following-sibling::w:del[1]]")

仍会返回第二个w:pPr元素,后跟一个w:r元素,因此它不是我正在寻找的内容。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

试试这个XPath表达式:

//w:pPr[following-sibling::*[position()=1][name()='w:del' or name()='w:ins']]