Play Framework为处理XML文档提供了一个很棒的XPath对象。例如,要从xml文档中选择foobar
个节点,您可以使用
List<Node> nodes = XPath.selectNodes(".//foobar", xmlDocument);
但是,这是区分大小写的(如预期的那样),因此如果您要在具有名为fooBar
的元素的xml文档上运行相同的查询,则不会找到任何节点。
通过我的谷歌搜索,我发现通过使节点名称小写可以实现“不区分大小写”搜索:
.//[lower-case(@foobar)]
有谁知道如何应用它来使用Play Framework的XPath lib?
答案 0 :(得分:1)
我不知道Play特别支持什么,但你有几个选择。首先,如果Play支持XPath 2.0,则使用lower-case
:
//*[lower-case(local-name())='foo']
如果不支持lower-case
,请使用XPath 1.0 translate
函数模仿它:
//*[translate(local-name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'abcdefghijklmnopqrstuvwxyz')='foo']