商品編號下有多顏色,顏色下有尺寸與數量。XML 存儲結構設計。
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product>
<model>SKU001</model>
<name>T恤</name>
<color name="紅色">
<size name="S" quantity="50"/>
<size name="M" quantity="100"/>
<size name="L" quantity="80"/>
</color>
<color name="藍色">
<size name="S" quantity="30"/>
<size name="M" quantity="60"/>
</color>
</product>
<product>...</product>
</products>
優點:結構直觀、單一商品完整資訊一讀即得、適合「商品詳情頁」整包讀取。
缺點:跨顏色/尺寸彙總(如「所有紅色總庫存」)需遍歷全樹。
<?xml version="1.0" encoding="UTF-8"?>
<products>
<product>
<name>T恤</name>
<color>紅色</color>
<size>S</size>
<quantity>50</quantity>
</product>
<product>
<name>T恤</name>
<color>紅色</color>
<size>M</size>
<quantity>100</quantity>
</product>
<product>...</product>
</products>
優點:像 SQL 表,易用 XPath/XQuery 做 `sum(//product[color='紅色']/quantity)` 彙總。
缺點:商品名稱、顏色重複冗余、檔案大、修改商品名需改所有記錄。
商品-顏色-尺寸 XML 設計:**巢狀結構適合單一商品完整讀取(目錄/詳情頁),扁平結構適合彙總分析(報表/ETL)**。按訪問模式選型,或混合使用。