【发布时间】:2014-02-07 11:41:05
【问题描述】:
下面的 Xpath 和 PHP 代码检查 XML 文件中任何“name”元素中的文本是否包含字符串“desk”(参见代码的第二行)。如果 Xpath 搜索字符串是“Desk”(带有大写 D),它将检索第一个 XML 名称元素中的文本,即“Desktop”。但由于 Xpath 搜索字符串是“desk”(带有小写字母 d),因此没有检索到任何内容。
有没有办法对此进行编码,以便 Xpath 搜索字符串“desk”(带有小写字母 d)可以从 XML 文件的 name 元素中检索“Desktop”(带有大写字母 D)?或者有没有办法让查询不区分大小写?
这是 XPath 和 PHP 代码:
$xmldoc = simplexml_load_file("products.xml");
$query = $xmldoc->xpath('/products/product[contains(name,"desk")]');
foreach($query as $Products) {
echo $Products->name . " ";
echo $Products->price . "<br>";
}
这是 XML 文件(名为 product.xml):
<products>
<product type="Electronics">
<name>Desktop</name>
<price>499.99</price>
<store>Best Buy</store>
</product>
<product type="Hardware">
<name>Hand Saw</name>
<price>99.99</price>
<store>Lowes</store>
</product>
</products>
谢谢!
【问题讨论】: