【发布时间】:2013-07-25 17:26:54
【问题描述】:
<Nodes>
<Node>
<ID>1</ID>
<TIDS>
<TID>2</TID>
<TID>3</TID>
</TIDS>
</Node>
<Node>
<ID>2</ID>
<TIDS>
<TID>4</TID>
</TIDS>
</Node>
<Node>
<ID>3</ID>
<TIDS>
<TID>7</TID>
</TIDS>
</Node>
<Node>
<ID>4</ID>
<TIDS>
<TID>7</TID>
</TIDS>
</Node>
<Node>
<ID>5</ID>
<TIDS>
<TID>7</TID>
</TIDS>
</Node>
<Node>
<ID>6</ID>
<TIDS>
<TID>7</TID>
</TIDS>
</Node>
<Node>
<ID>7</ID>
</Node>
</Nodes>
我想编写查询,它将 fselect TID 并再次查询 xml 以选择它的 TID 假设我的 where 条件是 ID 等于 1 那么我想输出 2,3,4,7 在我的 where 条件下,如果我输入 ID 等于 5,然后输入 7 如何编写递归 linq
【问题讨论】:
-
为什么应该(基于什么逻辑)为 ID=1 返回 2、3、4 和 7?
-
@Guanxi 我相信 OP 正在寻找的行为是 ID 1 返回 2 和 3,然后查找这两个 ID 继续。因此,查找 2 将产生 4,查找 3 将产生 7(继续查找 4 也会产生 7,查找 7 将不会显示任何内容)。总的来说,从 1 开始,函数“发现”的唯一 ID 将是 2、3、4 和 7。