我有以下HTML代码:
<div>
<div>
<span>test1</span>
</div>
<span>test2</span>
<span>test3</span>
<span>test4</span>
<div>
<span>test5</span>
</div>
<span>test6</span>
</div>
&#13;
如何选择作为第1个div的直接后代的所有span元素。 (带有innerText test2,test3,test4,test6的元素)?
答案 0 :(得分:0)
这个XPath会让你想要
'//span[not(parent::div[parent::div])]'
xmllint --html --xpath '//span[not(parent::div[parent::div])]' test.html | sed -re 's%(</[^>]+>)%\1\n%g'
<span>test2</span>
<span>test3</span>
<span>test4</span>
<span>test6</span>