2010-11-03 49 views
0

我遇到了一個我一直試圖解決的問題,但沒有運氣。在XML文件中搜索特定產品ID

我試圖搜索特定產品ID的XML文件。以下是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文件中看到的那樣,存在包含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
/products/product[@articleNo=13000] 
+0

謝謝,工作GR8 – moffepoffe 2010-11-03 17:55:04

+0

作爲位的上述的/一般意味着下一個元件和@通常是指一個元素的屬性的解釋。但是如果您要做/ products/product/@ articleNo會返回每個產品的商品編號 – 2010-11-03 19:30:20