我是一個完全地新來Linq2XML我的代碼多線進行簡單的事情,並在一個簡單的項目,我想試試看......瞭解的LINQ到XML - 後裔返回任何結果
我與這2小時,並沒有什麼我得到的是正確的:(
我真的,真的想回去XmlNode的代碼,都
任務:
- 我發送SOAP行動ASMX服務,我也得到了響應,XML
- 我解析XML爲XDocument對象
- 我試圖讓一個節點列表...犯錯!問題!
你可以從這個screenshot
alt text http://www.balexandre.com/temp/2010-02-26_0038.png
我的XDocument看到有一個叫TransactionInformationType女巫是一個序列節點,我簡單的想要得到所有和檢索只有2我需要的變量(你可以看到代碼註釋)在下面select c;
在 觀看窗口可以看到
doc.Descendants("TransactionInformationType")
回報什麼都沒有,並在文本展示臺中的XDocument的內容看,它確實存在!
任何關心解釋和幫助我通過這個巨大的牆?
謝謝!
新增
回答
響應XML具有
<gettransactionlistResponse xmlns="https://ssl.ditonlinebetalingssystem.dk/remote/payment">
,我必須用這個作爲命名空間!
事實證明,以檢索值,我確實需要使用的XNamespace以及,所以最終的代碼如下所示:
// Parse XML
XDocument doc = XDocument.Parse(strResponse);
XNamespace ns = "https://ssl.ditonlinebetalingssystem.dk/remote/payment";
var trans = from item in doc.Descendants(ns + "TransactionInformationType")
select new TransactionInformationType
{
capturedamount = Convert.ToInt32(item.Element(ns + "capturedamount").Value),
orderid = item.Element(ns + "cardtypeid").Value
};
謝謝大家爲幫助!
能否請您發佈的XML的頭部直至元素你正在找。這裏可能有一個命名空間問題。 – AxelEckenberger 2010-02-25 23:54:02
完成!將它添加到pasteBin,因爲它很大(即使我只顯示2個交易):) – balexandre 2010-02-26 00:31:49
+100如果我可以.. :) – asifrc 2013-03-12 12:47:22