2011-09-16 2 views
1

私は、これは簡単な質問ですけど、謝罪ので、私はXMLにLINQに新たなんだ、と次の難しさが午前:私は、次のXMLを持っているとしようとしていますLINQの

を(サーバー XDocument lawCentres = XDocument.Load:住所要素を含むすべての要素、出:私は次のコードが書かれている

<LawCentres> 
<LawCentre> 
    <LawCentreID>2</LawCentreID> 
    <LawCentreName>Test Law Centre</LawCentreName> 
    <Address> 
    <Address1>Test Address1</Address1> 
    <Address2>Test Address2</Address2> 
    <Address3>Test Address3</Address3> 
</Address> 
</LawCentre> 
<LawCentre> 
    <LawCentreID>22</LawCentreID> 
    <LawCentreName>Secondary Law Centre</LawCentreName> 
    <Address> 
    <Address1>ADDRESS11</Address1> 
    <Address2>ADDRESS21</Address2> 
    <Address3>ADDRESS31</Address3> 
    <CountryRef>10985</CountryRef> 
    <CountyRef>12116</CountyRef> 
    </Address> 
</LawCentre> 
</LawCentres> 

とし、しかし、私は、法律センターの情報と一緒にアドレスを抽出difficutyを持っています.MapPath( "XML \ LawCentres.xml"));

 var lawCentreQuery = from c in lawCentres.Descendants("LawCentre") 
          where (int)c.Element("LawCentreID") == lawCentreID 
          select new LawCentre 
          { 
           LawCentreName = (string)c.Element("LawCentreName"), 
           LawCentreID = (int)c.Element("LawCentreID"), 
           LawCentreAddressLine1 = (string)c.Element("Address1"), 
           LawCentreAddressLine2 = (string)c.Element("Address2"), 
           LawCentreAddressLine3 = (string)c.Element("Address3"), 
          }; 

答えて

0

は、(string)c.Element("Address").Element("Address1")

OR

(string)c.Descendants("Address1").FirstOrDefault() 
+0

第二の選択肢は完璧に機能してあなたの助けに感謝ハサン万人を(string)c.Element("Address1")を交換してください! – Alicia

+0

@Aliciaの最初のオプションにパスエラーがありました。それを固定した。今それも動作します –