2013-03-19 44 views
0

即時嘗試上傳一個XML數據源到MySQL,所以我可以使用我的PHP程序的數據庫。即時通訊的問題通常是我創建字段並導入Feed。但是,飼料,我現在是有點怪..創建加載xml到mysql的字段

<name>test</name> 
<address>test address</address> 
<phone>251447</phone> 
</phone_count> 
<pets>cat</pets> 
</pet_count> 
<images> 
    <image>1.jpg</image> 
    <image>2.jpg</image> 
    <image>4.jpg</image> 
    <image>16.jpg</image> 
</images> 

有人可以告訴我怎麼可以創建字段</phone_count> </pet_count>因爲這些字段只有結束標記。

如何爲每個圖像創建一個字段?因爲我沒有在子集中插入數據。

我嘗試使用

LOAD DATA LOCAL INFILE '/tmp/xml/data.xml' 
INTO TABLE person_data 
+2

在XML中,只有或不能是有效的xml標記 – 2013-03-19 14:42:05

回答

1

您輸入XML文件來加載數據壞了,有因爲沒有相應的打開標記的結束標記沒有這樣的事情。這個XML流的作者可能意味着<phone_count/><pet_count/>(注意正斜槓的位置)。該語法與(例如)<pet_count></pet_count>相同。

修改導入此流程的方法,您將無法使用LOAD DATA INFILE執行此操作,因爲您的主實體之間存在1-n(一對多)關係(我猜測類似於「Contact 「)和圖像。理想情況下,數據庫中將有兩個表格,例如contactimage,並且LOAD DATA INFILE允許一次導入到一個表格中。

你最好在PHP中以編程方式解析這個文件。

關於第二個想法,如果有至多四個圖像的一個givent接觸,然後我能想象一個contact表四image1,...,image4領域,但我不認爲這是很好的做法。

+0

謝謝......問題在於數據饋送。他們沒有包含正確的標籤。 – LiveEn 2013-03-19 15:17:54