First of all, your xml is not valid, see mismatched Quantiry
and Quantity
tags.
Anyway, here's how you can get, for example, all of the sizes per code:
from xml.etree import ElementTree as ET
data = """<?xml version="1.0"?>
<data>
<product>
<Product_Code>code1</Product_Code>
<Size>x</Size>
<Quantity>1</Quantity>
</product>
<product>
<Product_Code>code3</Product_Code>
<Size>c</Size>
<Quantity>5</Quantity>
</product>
<product>
<Product_Code>code2</Product_Code>
<Size>z</Size>
<Quantity>2</Quantity>
</product>
<product>
<Product_Code>code3</Product_Code>
<Size>a</Size>
<Quantity>1</Quantity>
</product>
<product>
<Product_Code>code1</Product_Code>
<Size>y</Size>
<Quantity>1</Quantity>
</product>
<product>
<Product_Code>code3</Product_Code>
<Size>b</Size>
<Quantity>5</Quantity>
</product>
</data>"""
tree = ET.fromstring(data)
codes = {}
for product in tree.findall('.//product'):
code = product.find('Product_Code').text
size = product.find('Size').text
quantity = product.find('Quantity').text
codes[code] = codes[code] if code in codes else {}
codes[code][size] = quantity
print codes
prints:
{'code1': {'y': '1', 'x': '1'}, 'code2': {'z': '2'}, 'code3': {'a': '1', 'c': '5', 'b': '5'}}