Firstly, you have an error in the XML data sample on line# 443.
I would map classes to the XML data and convert. But it you want to manually read the xml data, then you could do something like this:
var doc = XDocument.Parse(rawXml);
var products = doc.Descendants()
.SelectMany(x => x.Elements("Product"));
foreach (var product in products)
{
var itemDimensions = product.Descendants()
.SelectMany(x => x.Elements("ItemDimensions"))
.FirstOrDefault();
if (itemDimensions != null)
{
var heightElement = itemDimensions.Elements("Height");
var heightUnits = heightElement.Attributes()
.Where(x => x.Name == "Units")
.Select(x => x.Value)
.FirstOrDefault();
var heightVale = heightElement.First().Value;
var lengthElement = itemDimensions.Elements("Length");
var lengthUnits = lengthElement.Attributes()
.Where(x => x.Name == "Units")
.Select(x => x.Value)
.FirstOrDefault();
var lengthValue = lengthElement.First().Value;
}
}