Asp.net linq where子句不产生预期结果
时间:2023-03-02 22:26 来源:网络整理 作者:默认发布 点击:次
Asp.net linq where子句不产生预期结果 asp.net xml vb.net linq Asp.net linq where子句不产生预期结果,asp.net,xml,vb.net,linq,linq-to-xml,Asp.net,Xml,Vb.net,Linq,Linq To Xml,我有以下xml: <Root> <Result img="1.png"> <Programs> <Program> <ProgramID>1</ProgramID> </Program> </Programs> </Result 我有以下xml: <Root> <Result img="1.png"> <Programs> <Program> <ProgramID>1</ProgramID> </Program> </Programs> </Result> <Result img="2.png"> <Programs> <Program> <ProgramID>1</ProgramID> </Program> <Program> <ProgramID>2</ProgramID> </Program> </Programs> </Result> <Result img="3.png"> <Programs> <Program> <ProgramID>1</ProgramID> </Program> </Programs> </Result> <Result img="4.png"> <Programs> <Program> <ProgramID>1</ProgramID> </Program> </Programs> </Result> </Root> 1. 1. 2. 1. 1. 我试图用下面的linq语句按ProgramID过滤xml,但当我传递值2时,总是没有得到结果,奇怪的是,当我在中传递值1时,我确实得到了预期的结果,这是所有四个结果 xOut = New XElement("Root", _ From s In x...<Result> _ Where s.<Programs>.<Program>.<ProgramID>.Value = 2 _ Select s) xOut=New-XElement(“根”_ 从x中的s_ 其中,s….值=2_ 选择(s) linq查询有什么问题。为什么1能工作,而2不能?我还希望在过滤后保留xml结构。以下是在C#中的实现方法: 抱歉,我不确定VB.NET的等价物是什么。这并不奇怪,您的XML格式不正确。在下,您有两个程序项,其余的只有一个。您需要一种方法来查询此程序集合。XML格式没有错误-这些程序节点位于父程序节点下,非常好。谢谢Jesse C.Slicer,您的代码工作得非常好。我认为“Any”函数是这里的关键。如果有人感兴趣,下面是vb中的代码:>xOut=New-XElement(“根”,x.substands(“结果”)。其中>(函数(y)y…Any(函数(z)z.Value=“2”)) var xOut = new XElement( "Root", x.Descendants("Result") .Where(y => y.Descendants("Programs").Descendants("Program").Descendants("ProgramID") .Any(z => z.Value == "2"))); (责任编辑:admin) |
- 上一篇:PHP将字符串转换为数组
- 下一篇:虚拟机授权文件到期,磁力链接