在XPath中,父代和祖代有什么区别?

时间:2019-02-26 15:17:31

标签: html xml xpath webdriver

我在XPath中看到2个不同的轴

  1. 父母
  2. 祖先

for f in *.js ; do number=`echo $f | sed 's/[^0-9]*//g'` padded=`printf "%04d" $number` new_name=`echo $f | sed "s/${number}/${padded}/"` mv $f $new_name; done 等于ancestor[1]吗?即

parent

等于

//*[text()='target_text']//ancestor::div[1]

1 个答案:

答案 0 :(得分:2)

parent::ancestor::轴之间的区别通过其名称传达: 父母是直接直接的祖先

例如,对于此XML,

<a>
  <b>
    <c>
      <d/>
    </c>
  </b>
</a>
  • /a/b/c/d/parent::*选择c
  • /a/b/c/d/ancestor::*选择cba

是的,/a/b/c/d/ancestor::*[1]/a/b/c/d/parent::*相同。