2015-10-16 43 views
1

我有以下的XElement結構:如何在C#中迭代XElement的throgh XAttribute?

XElement xmleElement= 

<portal> 
<form patientid="72615" consentformid="430" appointmentid="386919" actiontype="3"> 
    <signatures> 
    <signature signatureid="858" encodedsignature="rkJggg==" /> 
    <signature signatureid="859" encodedsignature="" /> 
    </signatures> 
    </form> 
</portal> 

現在我想通過這個元素每個簽名迭代,並得到各encodedsignature XAttribute。 基本上要使用一些foreach類型的迭代器來獲取每個門戶/表單/簽名/資源[encodesignature]屬性。 任何幫助將非常滿意。 在此先感謝。

回答

2

聽起來像是你想要的東西,如:

var encodedSignatures = doc.Descendants("signature") 
          .Select(x => x.Attribute("encodedSignature").Value; 

還是要更加明確的路徑:

var encodedSignatures = doc.Root 
          .Element("form") 
          .Element("signatures") 
          .Elements("signature") 
          .Select(x => x.Attribute("encodedSignature").Value; 

在這兩種情況下,你就可以重複使用foreach - encodedSignatures將只是一個IEnumerable<string>

+1

謝謝先生!我很榮幸能收到Jon Skeet的回覆! – user2948533

相關問題