XPath-(//first//*)[1]
和之间有什么区别//first//*[1]
?这个怎么运作?
一个示例XML文件是:
<root>
<first>
<second>
Test
</second>
<second>
<third>Test2</third>
</second>
</first>
</root>
(// first // *)[1]给出:
<second>
Test
</second>
但是// first // * [1]给出了:
<second>
Test
</second>
<third>Test2</third>
在这两种情况下,请//first
选择所有first
元素,然后//first//*
选择的所有元素后代first
。然后,区别是:
(//first//*)[1]
从所有这些元素中选择,只有第一个。//first//*[1]
从所有这些元素中选择,每个第一个孩子。如您所见,XMLsecond
是XPath #1选择的,因为它是的所有后代中的第一个first
。(您的元素名称选择有些不理想。)XPath #2second
和third
XPath都选择它们,因为它们都在各自的同级兄弟中排在首位。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句