如何在C#中通过XElement的X属性进行迭代?
我有以下XElement结构:如何在C#中通过XElement的X属性进行迭代?,c#,xml,linq,C#,Xml,Linq,我有以下XElement结构: XElement xmleElement= <portal> <form patientid="72615" consentformid="430" appointmentid="386919" actiontype="3"> <signatures> <signature signatureid="858" encodedsignature="rkJggg==" /> <sign
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>
XElement xmleElement=
现在我想遍历每个签名的元素,并获得每个encodedsignature属性。
基本上,我们希望使用某种foreach类型的迭代器来实现每个门户/表单/签名/sugnature[encodedsignature]属性。
任何帮助都将受到高度赞赏。
提前谢谢。听起来你想要的是:
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
谢谢您,先生!我很荣幸收到Jon Skeet的答复!