<局 键="呼" 值="呼和浩特铁路局" 地址="">
<段 键="呼段" 值="" 地址="">
<所 键="呼所" 值="" 地址="">
<列检 键="呼列检" 值="" 地址=""/>
</所>
<所 键="呼所" 值="" 地址="">
</所>
</段>
</局>
问题:如何递归读出节点ID和它的父ID(ID和父ID是虚构的)
描述:如上XML节点共有四层
目的:最终能读出这样的数据 0,-1|1,0|2,1|3,1|4,1|5,3
局
段
所1 所2
列检1 列检2
对应
0,-1
1,0
2,1 3,1
4,2 5,3
用LINQ to XML
你只要先用一个foreach 来得到所有节点的字符串〔由顶层到最底层〕如:-1,0,1,2,3,4,5
然后就是一个算法的事情了。你到得到 父级,子级 的形式。
1 string s = "1,2,3,4,5,6";
2
3 string res = "";
4
5 string[] list = s.Split(',');
6 for (int i = 1; i < list.Length; i++)
7 {
8 res += string.Format("{0},{1}|", list[i], list[i - 1]);
9 }
10