我需要编写2个xpath查询,其中一个选择从元素的直接父项到根的特定元素的所有父项,然后我将能够选择元素的某些特定属性.
而另一个选择元素的所有子元素,无论它们在哪里.
例如,如果xml文档是这样的:
<role key='total-admin'>
<role key='security-admin'>
<role key='users-admin'>
<role key='add-user'></role>
<role key='delete-user'></role>
<role key='deactivate-user'></role>
</role>
</role>
</role>
Run Code Online (Sandbox Code Playgroud)
我想用键'add-user'选择元素的所有父元素.结果将是:
[ 'users-admin' , 'security-admin' , 'total-admin' ]
Run Code Online (Sandbox Code Playgroud)我想选择'security-admin'的所有孩子.结果将是:
[ 'users-admin' , 'add-user' , 'delete-user' , 'deactivate-user' ]
Run Code Online (Sandbox Code Playgroud)对于第一个查询使用:
//role[@key = 'add-user']/ancestor::*
Run Code Online (Sandbox Code Playgroud)
对于第二个:
//role[@key = 'security-admin']//*
Run Code Online (Sandbox Code Playgroud)