XML ファイル形式:
<pl>
<afs>
<af id="1"></af>
<af id="2"></af>
</afs>
<pss>
<ps>
<a>
<x afid="1"> </x>
<x afid="2"> </x>
</a>
</ps>
<ps>
<a>
<x afid="2"></x>
</a>
</ps>
</pss>
</pl>
すべての afs 子 af ノードについて、属性値を持つ親ノードに子 x ノードを作成したいと思います。
空の要素のみを作成する次のコードを使用しました。私は比較に感銘を受けました。これについて誰でも考えられますか。コードは次のとおりです。
if (this.Xml.Descendants("a").Count() > 0) {
var cs = this.Xml.Descendants("a").ToList();
var cCounts = containers.Select(i => i.Elements("x").Count());
var maxCount = containerCounts.Max();
var afIds = from actionField in this.Xml.Descendants("af").Attributes().ToList(); // Here i get compiler error --
foreach (var c in cs)
{
int count = c.Elements("x").Count();
var xList = c.Descendants("x").ToList();
foreach (var xlst in xList)
{
for (int i = count; i < maxCount; i++)
{
c.Add(new XElement("x", new XAttribute("afid", "1"))); // instead 1 I should have correct id value
}
}
}
}
私が取得しようとしている結果は次のとおりです。
<pl>
<afs>
<af id="1"></af>
<af id="2"></af>
</afs>
<pss>
<ps>
<a>
<x afid="1"> </x>
<x afid="2"> </x>
</a>
</ps>
<ps>
<a>
<x afid="1"></x>
<x afid="2"></x>
</a>
</ps>
</pss>
</pl>