我有一个这样的 XML
<Authors>
<Author name='Some Author'>
<Book>B1</Book>
<Book>B2</Book>
<Book>B3</Book>
</Author>
</Authors>
我想通过使用 Book 对此 xml 进行 xpath 查询并显示作者姓名,并且 xpath 查询应该不区分大小写。
我试着用
Author[translate(Book,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='b1'
但是只有当我使用 b1 查询时,此查询才会返回值。如果查询使用 b2 或 b3,则返回 null。
我在java中这样做:
XPathFactory xPathFactory = XPathFactory.newInstance();
XPath xPath = xPathFactory.newXPath();
XPathExpression xPathExpression = xPath.compile(
"Authors/Author[translate(Book,'ABCDEFGHIJKLMNOPQRSTUVWXYZ'," +
"'abcdefghijklmnopqrstuvwxyz')='b2']");
ret_nodelist = (NodeList) xPathExpression.evaluate(doc,XPathConstants.NODESET);