1
有這樣一個XML文件:問題與LINQ到XML
<Datasets>
<package id="AD">
<iff>LRC_AD_AMSADTEXPDR</iff>
</package>
<package id="AL">
<iff>LRC_AL_CLINICALTCODE</iff>
<iff>LRC_AL_PATALGHISTRY</iff>
<iff>LRC_AL_PATALGYCODE</iff>
<iff>LRC_AL_PATALLERGY</iff>
<iff>LRC_AL_PATALRGYCHEKD</iff>
</package>
<package id="AT">
<iff>LRC_AT_PATALERT</iff>
<iff>LRC_AT_PATALRTCARE</iff>
<iff>LRC_AT_PATALRTCODE</iff>
<iff>LRC_AT_PATALRTDIST</iff>
<iff>LRC_AT_PATALRTHIST</iff>
<iff>LRC_AT_PATALRTSTAT</iff>
</package>
<package id="CDC">
<iff>LRC_CDC_IFMFMCOMMENT</iff>
<iff>LRC_CDC_IFMFORM</iff>
<iff>LRC_CDC_IFMFRMCNTXT</iff>
<iff>LRC_CDC_IFMFRMDATA</iff>
<iff>LRC_CDC_IFMFRMDISDET</iff>
<iff>LRC_CDC_IFMFRMHIMREF</iff>
<iff>LRC_CDC_IFMFRMKEYWRD</iff>
<iff>LRC_CDC_IFMFRMOBSRER</iff>
<iff>LRC_CDC_IFMFRMPLCY</iff>
<iff>LRC_CDC_IFMFRMRCPNT</iff>
<iff>LRC_CDC_IFMFRMREF</iff>
<iff>LRC_CDC_IFMFRMSTAHST</iff>
</package>
</Datasets>
我用.NET 3.5創建的應用程序,這將有一個組合框和一個CheckedListBox控件。 在選擇哪個相應的iff元素應該被綁定到checkedlistbox時,組合框將列出所有包(如AD,AL,AT等)。
我成功地與下面的代碼結合的組合框:
var pkgs = from s in xmlDoc.Descendants("package")
where s.HasAttributes && s.Attribute("id") != null &&
!String.IsNullOrEmpty(s.Attribute("id").Value)
select s.Attribute("id").Value;
List<string> lst = pkgs.ToList();
comboBox1.DataSource = lst;
當用戶從下拉菜單中選擇該程序包,在組合框的selectedIndexChange事件,我想retieve那個包的相應子元素,並將其綁定到選中列表框。
但是,我無法使用LINQ選擇所選包的子節點(iffs)。
任何幫助,非常感謝!
感謝
@Sathya如果你喜歡的答案不要忘記upvote它;) – PierrOz