2012-03-15 103 views
-1

我使用許多不同類型的xml文件。我將這些內容加載到我的mysql數據庫中。問題是我需要定義我想要每次選擇的標籤。動態xml使用php處理

是否有一個PHP DOM對象函數,可以遍歷所有標籤並將它們提供給我。

這是我的示例XML

<products> 
    <product> 
     <name>Name of product</name> 
     <categories> 
      <category>Apparel</category> 
      <category>Trousers</category> 
      <category>Blue</category> 
     </categories> 
     <description>Blue trousers</description> 
     <price>599.00</price> <regularPrice>599.00</regularPrice> 
    </product> 
</products> 

輸出應不值,但XML標籤的acctual名,在這種情況下,它應該是 產品,產品名稱,類別,類別,描述,價格

獲取這些值我可以通過連接表動態指向它們,始終保存在正確的表格和正確的字段中。

+0

http://www.php.net/manual/en/simplexml.examples-basic.php – MrCode 2012-03-15 13:02:23

+0

但是,這並不覆蓋我想要做的事情?我一直在一遍又一遍地閱讀...也許是一個新手正確的方向,而不是隻是downvoting ..! – 8bitcat 2012-03-15 13:18:55

回答

5

* 試試這個代碼預期它會工作*

$xmlD = ' 
<products> 
    <product> 
     <name>Name of product</name> 
     <categories> 
      <category>Apparel</category> 
      <category>Trousers</category> 
      <category>Blue</category> 
     </categories> 
     <description>Blue trousers</description> 
     <price>599.00</price> <regularPrice>599.00</regularPrice> 
    </product> 
</products> 
'; 
$xml = simplexml_load_string($xmlD); 

echo $xml->getName() . "<br />"; 

foreach($xml->children() as $child) 
    { 
    echo $child->getName(). "<br />"; 
    foreach($child->children() as $innerChild): 
     echo $innerChild->getName(). "<br />"; 
    endforeach; 
} 
+0

謝謝!這就是我喜歡的功能!非常感謝! – 8bitcat 2012-03-15 13:29:02

+0

它打印每個孩子我怎麼能限制它只能通過一個產品? – 8bitcat 2012-03-15 14:22:36

+1

讓我解決你的問題 – 2012-03-15 16:49:44