2016-01-05 55 views
0

我有這樣的代碼從一個XML文件中的MySQL數據庫插入我的服務器上simplexml的負載xml文件

這是XML結構

<product> 
<name>Ghost Design 2000 Supporto TV LCD rotation</name> 
<description> 
description text... 
</description> 
<brand>MELICONI</brand> 
<sku>8006023191062</sku> 
<fields> 
<breadCrumb> 
Home|Tecnologia e intrattenimento|Tv, DVD, Home Cinema|Accessori Tv/Video|Supporti video 
</breadCrumb> 
    </fields> 
</product> 

我插入的所有記錄在我的SQL表但字段breadCrumb插入不正確。它始終爲所有記錄插入相同的breadCrumb數據。

+0

您能提供一些更多細節 - 例如: XML文件的一小部分,以便我們可以看到結構,您希望從該XML發生的插入以及實際發生的事情。 – IMSoP

+0

好的..我編輯了帖子..謝謝@IMSoP –

回答

0
$xml = '<?xml version="1.0"?> 
<products> 
<product> 
    <name>Ghost Design 2000 Supporto TV LCD rotation</name> 
    <description>description text...</description> 
    <brand>MELICONI</brand> 
    <sku>8006023191062</sku> 
    <fields> 
     <breadCrumb> 
      Home|Tecnologia e intrattenimento|Tv, DVD, Home Cinema|Accessori Tv/Video|Supporti video 
     </breadCrumb> 
    </fields> 
</product> 
<product> 
    <name>Ghost Design 2000 Supporto TV LCD rotation</name> 
    <description> 
    description text... 
    </description> 
    <brand>MELICONI</brand> 
    <sku>8006023191062</sku> 
    <fields> 
    <breadCrumb> 
    second 
    </breadCrumb> 
     </fields> 
</product> 
</products>'; 
$parsedXml = simplexml_load_string($xml, "SimpleXMLElement", LIBXML_NOCDATA); 

foreach($parsedXml->product as $product){ 
    foreach($product->fields as $categories) 
     echo $categories->breadCrumb.'<br>'; 
} 

這應該對你有所幫助!

一些額外的信息:

在PHP 5.5 mysql_query功能已被棄用,使用pdo代替

0

嘗試使用

<![CDATA[ 

,如:

<breadCrumb><![CDATA[]]> 
Home|Tecnologia e intrattenimento|Tv, DVD, Home Cinema|Accessori Tv/Video|Supporti video 
]]></breadCrumb> 

此外,一定要使用mysql_real_escape_string把它放在數據庫中e