我有以下XML從XML文檔依賴於其他值
<OrderReport>
<Item>
<Promotion>
<Component>
<Type>Principal</Type>
<Amount currency="USD">-0.25</Amount>
</Component>
<Component>
<Type>Shipping</Type>
<Amount currency="USD">0.00</Amount>
</Component>
</Promotion>
</Item>
</OrderReport>
我需要爲每種類型的金額選擇特定的值。以下是我想要的
var q = from orders in xDoc.Descendants("OrderReport")
select new
{
//This should return me the Principal Amount
ItemDiscountAmount = orders.Element("Item")
.Element("Promotion")
.Element("Component")
.Element("Amount")
.Value,
//This should return me the Principal Currency
ItemDiscountCurrency = orders.Element("Item")
.Element("Promotion")
.Element("Component")
.Element("Amount")
.Attribute("currency")
.Value,
//This should return me the Shipping Amount
ShipDiscountAmount = orders.Element("Item")
.Element("Promotion")
.Element("Component")
.Element("Amount")
.Value,
//This should return me the Shipping Currency
ShipDiscountCurrency = orders.Element("Item")
.Element("Promotion")
.Element("Component")
.Element("Amount")
.Attribute("currency")
.Value,
};
我寫的代碼不正確。它現在返回所有物業的本金和貨幣。評論描述了爲了理解目的應該返回的內容。 該查詢應基本上返回我的價格和貨幣取決於<Type>
節點<Component>
節點下。不知道如何在這種情況下放置一個條件。
我認爲你的班級結構留下了改進的空間。用'Value'和'Currency'屬性創建一個類'Amount'。用'Tax','ShipTax'等屬性創建一個'Item'類。 – Sjoerd
你將不得不改變你的問題。我不知道你在問什麼,我懷疑其他人會有同樣的感受。 (你的代碼甚至不會編譯) –
@Sjoerd - 我從我的應用程序中只能使用第三方應用程序獲取XML。 @Jeff Mercado - 對不起。讓我看看我該如何做得更好。 –