xpath搜索属性时出错

时间:2018-02-28 15:30:29

标签: php xml xpath

您好我想用xpath提取名称=“频率”的所有项目,其中包含一定值,但它不会给我任何东西。我做错了什么?

XML文件:

<products>
    <product>
        <title>PT2400</title>
        <ElectricSpecifications>
           <item name="Frequency">2310 - 2485 MHz (WLAN, BLUETOOTH, ZIGBEE</item>
        </ElectricSpecifications>
    </product>
</products>


foreach ($xpath->query("//product/ElectricSpecifications[@item='Frequency'][contains(., ' $value')]") as $item) {
    var_dump($item);
}

1 个答案:

答案 0 :(得分:4)

item不是ElectricSpecifications的属性,而是其子节点,因此不是

[@item='Frequency']

语法,试试

item[@name='Frequency']

所以完整的XPath应该像

//product/ElectricSpecifications/item[@name='Frequency' and contains(., ' $value')]