Мне нужно упростить этот xml (до списка) и связать оценку с элементами (несколькими элементами)
вот мой старт, но закомментированный раздел не работает
XDocument doc = XDocument.Load( filename );
var ele = doc.Elements("AmazonEnvelope")
//.Elements("Header")
.Elements("Message")
.Elements("OrderReport")
.Elements("Item")
.Select(element => new
{
AmazonOrderItemCode = (string)element.Element("AmazonOrderItemCode"),
SKU = (string)element.Element("SKU"),
Title = (string)element.Element("Title"),
Quantity = (string)element.Element("Quantity"),
})
//.Elements("ItemPrice")
//.Elements("Component")
//.Select(element => new
//{
// Type = (string)element.Element("Type"),
// Amount = (string)element.Element("Amount"),
// })
.ToList();
foreach (var x in ele)
{
Console.WriteLine(x.ToString());
}
это:
{AmazonOrderItemCode = 58317736573050, SKU = 6020B, заголовок = верхний слой, количество = 1}
к этому:
{AmazonOrderItemCode = 58317736573050, SKU = 6020B, название = верхний слой, количество = 1, тип = основной, сумма = 8.00}
и в конечном итоге, поскольку существует несколько типов, что-то вроде этого:
{AmazonOrderItemCode = 58317736573050, SKU = 6020B, название = верхний слой, количество = 1, Amount_Principal = 8.00}
Пример XML (это всего лишь 1 позиция в общем заказе)
<Item>
<AmazonOrderItemCode>23845287148226</AmazonOrderItemCode>
<SKU>557B</SKU>
<Title>China Doll</Title>
<Quantity>1</Quantity>
<ProductTaxCode>A_GEN_TAX</ProductTaxCode>
<ItemPrice>
<Component>
<Type>Principal</Type>
<Amount currency="USD">8.00</Amount>
</Component>
<Component>
<Type>Shipping</Type>
<Amount currency="USD">2.08</Amount>
</Component>
<Component>
<Type>Tax</Type>
<Amount currency="USD">0.68</Amount>
</Component>
<Component>
<Type>ShippingTax</Type>
<Amount currency="USD">0.17</Amount>
</Component>
</ItemPrice>
<ItemFees>
<Fee>
<Type>Commission</Type>
<Amount currency="USD">-1.51</Amount>
</Fee>
</ItemFees>
<ItemTaxData>
<TaxJurisdictions>
<TaxLocationCode>330812010</TaxLocationCode>
<City>QUEENS</City>
<County>QUEENS</County>
<State>NY</State>
</TaxJurisdictions>
<TaxableAmounts>
<District currency="USD">0.00</District>
<City currency="USD">8.00</City>
<County currency="USD">0.00</County>
<State currency="USD">8.00</State>
</TaxableAmounts>
<NonTaxableAmounts>
<District currency="USD">8.00</District>
<City currency="USD">0.00</City>
<County currency="USD">0.00</County>
<State currency="USD">0.00</State>
</NonTaxableAmounts>
<ZeroRatedAmounts>
<District currency="USD">0.00</District>
<City currency="USD">0.00</City>
<County currency="USD">8.00</County>
<State currency="USD">0.00</State>
</ZeroRatedAmounts>
<TaxCollectedAmounts>
<District currency="USD">0.00</District>
<City currency="USD">0.36</City>
<County currency="USD">0.00</County>
<State currency="USD">0.32</State>
</TaxCollectedAmounts>
<TaxRates>
<District>0.0000</District>
<City>0.0450</City>
<County>0.0000</County>
<State>0.0400</State>
</TaxRates>
</ItemTaxData>
<ShippingTaxData>
<TaxJurisdictions>
<TaxLocationCode>3308</TaxLocationCode>
<City>QUEENS</City>
<County>QUEENS</County>
<State>NY</State>
</TaxJurisdictions>
<TaxableAmounts>
<District currency="USD">0.00</District>
<City currency="USD">2.08</City>
<County currency="USD">0.00</County>
<State currency="USD">2.08</State>
</TaxableAmounts>
<NonTaxableAmounts>
<District currency="USD">2.08</District>
<City currency="USD">0.00</City>
<County currency="USD">0.00</County>
<State currency="USD">0.00</State>
</NonTaxableAmounts>
<ZeroRatedAmounts>
<District currency="USD">0.00</District>
<City currency="USD">0.00</City>
<County currency="USD">2.08</County>
<State currency="USD">0.00</State>
</ZeroRatedAmounts>
<TaxCollectedAmounts>
<District currency="USD">0.00</District>
<City currency="USD">0.09</City>
<County currency="USD">0.00</County>
<State currency="USD">0.08</State>
</TaxCollectedAmounts>
<TaxRates>
<District>0.0000</District>
<City>0.0450</City>
<County>0.0000</County>
<State>0.0400</State>
</TaxRates>
</ShippingTaxData>
</Item>