在XML文件中搜索特定产品ID

时间:2010-11-03 17:36:03

标签: php xpath

我遇到了一个我一直在努力解决的问题。

我正在尝试在XML文件中搜索特定的产品ID。以下是XML文件的片段。

products xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xxxxxx">
<product articleNo="13000">
    <name>Fire Brigade Frame HB</name>
    <category id="6">Backbacks and bags</category>
    <languages>
        <lang id="1">
            <standardProperties>
                <property name="webHeaders">Stabil aluminiumram.  Passar otympliga bördor.  Kraftigt höftbälte.</property>
                <property name="webText">Aluminiumram med bärsystem utan säck. För tillfällen när stora otympliga bördor ska flyttas med muskelkraft. Kraftigt höftbälte och remmar för att fästa med. </property>
            </standardProperties>
            <extendedProperties>
                <property name="Webbing">Polypropylene, aluminium frame</property>
                <property name="Djup">32 cm</property>
                <property name="Höjd">80 cm</property>
                <property name="Bredd">36 cm</property>
                <property name="Total vikt">1900 g</property>
                <property name="Yttertält">1900 g</property>
            </extendedProperties>
        </lang>

正如您在XML文件中看到的那样,/ products和/ product包含一个ID,这是我想要搜索的ID。

我一直在尝试使用以下代码,但它只给我一个错误。

$xml = simplexml_load_file("xxx.xml");
$results = $xml->xpath('/products[product articleNo=13000]');
print_r($results);

错误消息:

Warning: SimpleXMLElement::xpath() [simplexmlelement.xpath]: xmlXPathEval: evaluation failed in /xxx.php on line 85

第85行是代码的放置位置。

一切顺利, 貂

1 个答案:

答案 0 :(得分:1)

/products/product[@articleNo=13000]