Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Where子句在LINQ To XML中不起作用_C#_Xml_Linq - Fatal编程技术网

C# Where子句在LINQ To XML中不起作用

C# Where子句在LINQ To XML中不起作用,c#,xml,linq,C#,Xml,Linq,我的XML文件是 <?xml version="1.0" encoding="utf-8"?> <root> <Message type="sms"> <Details locale="en" message-type="User.ResetPassword" /> <Context> <Parameter name="Time" value=" 16:03:31

我的XML文件是

 <?xml version="1.0" encoding="utf-8"?>
 <root>
    <Message type="sms">
        <Details locale="en" message-type="User.ResetPassword" />
        <Context>
            <Parameter name="Time" value=" 16:03:31" />
            <Parameter name="pswr" value="00" />
            <Parameter name="Date" value="18/12/2014" />
        </Context>
        <Receiver>+923328749199</Receiver>
    </Message>
  </root>
问题是我的where子句不工作,除非where子句查询工作正常。你能帮我解决这个问题吗。

不是
的孩子,而是
的孩子。试着这样做:

XElement xelement = XElement.Parse(xml);
var name = from message in xelement.Elements("Message")
           from param in message.Elements("Context").Elements("Parameter")
           where (string)message.Element("Receiver") == "+923328749199"
           select param;

不在
标签中,那么我该如何解决这个问题呢?请参阅以下帖子中的我的解决方案:甚至不清楚您希望从查询中得到什么结果…@user1745334;您的问题是要接收所有参数吗?我猜OP希望接收所有参数,也许您应该将该部分添加到
XElement xelement = XElement.Parse(xml);
var name = from message in xelement.Elements("Message")
           from param in message.Elements("Context").Elements("Parameter")
           where (string)message.Element("Receiver") == "+923328749199"
           select param;
    XElement xelement = XElement.Load("C:\\Users\\qadeer.hussain\\Desktop\\gw-msg-2.xml");
    var name = from nm in xelement.Elements("Message")
               from mm in nm.Elements("Context").Elements("Parameter")  
               where nm.Element("Receiver").Value == "+923328749199"
               select mm;