我與API調用之一的易趣交易API和部分工作改回來了XML元素的ItemSpecifics陣列應對,一個簡單的例子如下:PHP/MySQL與XML數組,其屬性每
<ItemSpecifics>
<NameValueList>
<Name>Brand</Name>
<Value>My1stWish</Value>
<Source>ItemSpecific</Source>
</NameValueList>
</ItemSpecifics>
所以我們有屬性名稱和值被返回。
並不是每一個項目回來與同一組的名稱屬性,一些易趣物品可能有沒有,有一些可能有20和20的那些從下面的清單完全不同,與有15分不同的。
所以我的問題是: 建議你將如何處理這些屬性值,從而使它們可以被存儲到一個MySQL數據庫表,然後可以從該表中拉回,與具有價值已設置正確的名稱作爲標題和相應的值?
我是否應該將這些作爲序列化數據轉儲到名爲'ItemSpecifics'列的表中?但後來我不確定我如何讓它們再次退出,這樣我就可以創建一個帶有所有選項的平面文件,例如CSV文件中的標題。
下面兩個例子:
清單1倍的回報:
<ItemSpecifics>
<NameValueList>
<Name>Brand</Name>
<Value>My1stWish</Value>
<Source>ItemSpecific</Source>
</NameValueList>
<NameValueList>
<Name>Exact Colour</Name>
<Value>Black</Value>
<Source>ItemSpecific</Source>
</NameValueList>
</ItemSpecifics>
清單2個回報:
<ItemSpecifics>
<NameValueList>
<Name>Exact Heel Height</Name>
<Value>4.1"</Value>
<Source>ItemSpecific</Source>
</NameValueList>
<NameValueList>
<Name>Heel Type</Name>
<Value>Stiletto</Value>
<Source>ItemSpecific</Source>
</NameValueList>
</ItemSpecifics>
使用simplexml庫,將xml轉換爲數組,然後將其放入數據庫中,但是您感覺最好。轉換爲json,序列化它,創建自定義列,天空是極限。 – skrilled
Hi Skrilled,這是真的,但它跟蹤每個Name屬性,以便當它們從數據庫中拉出時,可以獲得每行的所有選項。 –
序列化和反序列化,或者json_encode和json_decode。您可以將數據以多種格式存儲在TEXT列中。你可以像下面說的那樣創建基於關係的表。真的沒有「這是做到這一點」的答案。有很多NoSQL數據庫可以存儲json。 – skrilled