2010-11-18 3 views
0

passen Was XPath-Ausdruck sein wird, den Kontext-param mit param-name foo entsprechen, wie unten dargestellt:XPATH Ausdruck context-param in web.xml

<web-app> 

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

Antwort

2

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

1
//context-param[param-name='foo'] 

sollte TU es. //context-param fragt nach einer Liste aller Knoten, die Nachkommen des Kontextknotens (d. H. Der Dokumentenstamm) sind, mit dem Namen "context-param". Das Bit in eckigen Klammern filtert dann diese Liste nach Context-Param-Knoten, die einen direkten Nachkommen mit dem Namen "param-name" und einem Text "foo" haben. ='foo' ist eine Kurzschrift für /text()='foo'.

Achten Sie auch auf Namespaces im realen Einsatz!

+0

Sie müssen das "/" aus '[/ param-name = 'foo']' entfernen, damit alles zurückgegeben wird. (sollte sein '/ web-app/context-param [param-name = 'foo']') –

+0

Ja, tue ich nicht I. Fixed. –

+1

Unter Berücksichtigung des Namensraumproblems endete ich mit '// * [local-name() = 'kontext-param'] [* [local-name() = 'param-name'] = 'foo']' ' – eigil

Verwandte Themen