わかりましたので、次の XML があります。
<root>
<item id="1" level="1" />
<item id="2" level="1">
<item id="3" level="2"/>
<item id="4" level="2">
<item id="5" level="3">
<item id="6" level="4" />
</item>
</item>
<item id="7" level="2" />
</item>
</root>
辞書の出力をこのようにしたいので、データをSQLデータベースに挿入できます。
ID | ParentID | level
------------------------
1 NULL 1
2 NULL 1
3 2 2
4 2 2
5 4 3
6 5 4
7 2 2
現在、これは最初の 2 列を取得するための私のコードですが、3 列目の「レベル」を辞書に表示する方法がわかりません。
XElement root = XElement.Parse(strSerializedoutput);
Dictionary<int, int> list = root.Descendants("item").ToDictionary(x => (int)x.Attribute("id"), x =>
{
var parentId = x.Parent.Attribute("id");
if (parentId == null)
return 0;
return (int)parentId;
});