attribute(id) の値に基づいて XMLnodes 要素をマージし、C# を使用して結果をリストに生成する必要があります
これは元の XML ファイルです。
<profiles>
<profile id="1" >
<name>John</name>
<age>23</age>
<sex>male</sex>
</profile >
<profile id="2" >
<name>Mark</name>
<age>60</age>
</profile >
<profile id="2" >
<sex>male</sex>
</profile >
</profiles>
そして、私はそれに取り組む必要があります:
<profiles>
<profile id="1" >
<name>John</name>
<age>23</age>
<sex>male</sex>
</profile >
<profile id="2" >
<name>Mark</name>
<age>60</age>
<sex>male</sex>
</profile >
</profiles>
ここに私の試用版がありますが、何も返されません
var employee = from emp in fileDoc.Descendants("profile")
group emp by (string) emp.Attribute("id")
into emps
select new Data
{
ID =emps.Last().Attribute("id") != null ? emps.Last().Attribute("id").Value: "",
ProfileName =emps.Elements("name") != null? emps.Elements("name").Last().Value: "",
Sex=emps.Elements("sex") != null? emps.Elements("sex").Last().Value: ""
};