匹配web.xml中上下文参数的XPATH表达式

匹配web.xml中上下文参数的XPATH表达式,xml,xpath,Xml,Xpath,将使用什么xpath表达式来匹配上下文参数和参数名foo,如下所示: <web-app> <context-param> <param-name>foo</param-name> <param-value>bar</param-value> <description></description> </context-param> ..... <

将使用什么xpath表达式来匹配上下文参数和参数名foo,如下所示:

<web-app>

  <context-param>
     <param-name>foo</param-name>
     <param-value>bar</param-value>
     <description></description>
   </context-param>
.....
</web-app>

福
酒吧
.....

/web-app/context-param[param-name/text()='foo']
/web-app/context-param[param-name/text()='foo']

//context-param[param-name='foo']
我应该这样做
//context param
要求列出所有节点的列表,这些节点是名为“context param”的context节点(即文档根)的后代。方括号中的位然后过滤该列表中的上下文参数节点,这些节点具有名为“param name”和文本“foo”的直系后代
='foo'
/text()='foo'
的缩写

另外,要注意实际使用的名称空间

我应该这样做
//context param
要求列出所有节点的列表,这些节点是名为“context param”的context节点(即文档根)的后代。方括号中的位然后过滤该列表中的上下文参数节点,这些节点具有名为“param name”和文本“foo”的直系后代
='foo'
/text()='foo'
的缩写


另外,要注意实际使用的名称空间

您需要从
[/param name='foo']
中删除“/”才能返回任何内容。(应该是
/web app/context param[param name='foo']
)考虑到命名空间问题,我最终得到了
/*[local-name()='context-param'][*[local-name()='param-name']='foo']
您需要从
[/param name='foo']
中删除“/”才能返回任何内容。(应该是
/web app/context param[param name='foo']
)考虑到命名空间问题,我最终得到了
/*[local-name()='context-param'][*[local-name()='param-name']='foo']