2010-12-10 51 views
0

我目前正在從一個網站導入從其他公司的ftp站點下載的XML數據。它的網上商店,所以我下載訂單,項目,項目更新..等。如何解析「隨機」XML

現在產品列表的XML文件看起來像一個猴子把它打在一起。我的意思是,它不是通用的。某些產品具有其他產品不在xml文件中的字段。

例如一個產品可能有以下...

<Value AttributeID="Color">Orange</Value> 
<Value AttributeID="Quantity">1000</Value> 
<Value AttributeID="Master Model Header">Air Soft Ammunition</Value> 
<Value AttributeID="Master Model Body Copy"> 

而未來的產品將有...

<Value AttributeID="Caliber">.177</Value> 
<Value AttributeID="Quantity per Box">600</Value> 
<Value AttributeID="Master Model Header">Pegable Blister Box BBs</Value> 
<Value AttributeID="Master Model Body Copy"> 

顯然有一些相似之處,但不是每一個產品是相同。這是我的第一個真正的XML項目,我不知道如何處理這樣的事情。

我明白並非商店中的每個產品都具有相同的屬性,但即便如此,產品也沒有歸類到xml文件中,因此我無法確定產品的「類型」,並且此產品的類型「具有這些特定的」屬性「,即使它們被分類,也有數千種產品。我將不得不爲每種類型的產品生成一個模型,這可能意味着成千上萬的模型。

那麼如何處理這些隨機屬性呢?你會如何去做這件事?

+0

語言/平臺? – Jimmy 2010-12-10 17:56:29

+0

php,使用magento。 – 2010-12-10 18:06:56

+0

你對這些數據有什麼要求,以一種數據庫的方式導入,適應一些現有的產品,翻譯成不同的格式? – 2015-12-26 00:37:29

回答

0

任何DOM實現應該讓你走樹並找出存在的元素和屬性以及它們具有的值。

從那裏你可以建立一個可能的屬性值列表,並決定你希望他們如何映射到你自己的系統上。

然後只要確保導入它們時檢查新的未知屬性/值,並讓系統通知您進行手動干預(即附加地圖功能)。