php - 如何在PHP xpath中对节点执行不区分大小写的搜索?

标签 php xpath

我不希望搜索字符串值不区分大小写。我想搜索该节点而不考虑大小写敏感性。如果XML如下所示:

<items>
   <ITEM>My text!</ITEM>
</items>


我需要这样的工作:

$someXmlDoc->xpath("/items/item/text()");


目前,仅此方法有效:

$someXmlDoc->xpath("/items/ITEM/text()");

最佳答案

xpath 1.0中不存在php支持的大小写转换(请参见http://jp.php.net/manual/en/class.domxpath.php

您可以使用以下非常有限的含义显示的翻译功能。注意:不建议使用,因为它不适用于非英语字符

/items/*[translate(node(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz') = 'item']/text()


更新:如果node()无法正常工作,请尝试使用name()

你也可以做一个工会如下

/items/ITEM/text() | /items/item/text()

关于php - 如何在PHP xpath中对节点执行不区分大小写的搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/953845/

相关文章:

xml - 关于根节点的简单 XPath 问题

php - Web 套接字从我的服务器获取实时数据

php - Android volley 通过图片上传发送信息两次

javascript - 按“应用”按钮后,日期范围选择器时间选择器不应用

sql-server - 查询 ELMAH 的 XML 字段

html - 如何指定 xpath 以从有条件的 parent 和 child 那里获取数据?

html - Chrome 控制台从 xpath 数组获取值

java - Selenium 和 xpath : finding a div with a class/id and verifying text inside

php - 如何设置 Zend 复选框的样式

php - 带有 LIKE、通配符和前导零的 MySQL SELECT