Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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#-Linq-XPathSelectElement每次都返回相同的结果_C#_Linq - Fatal编程技术网

C#-Linq-XPathSelectElement每次都返回相同的结果

C#-Linq-XPathSelectElement每次都返回相同的结果,c#,linq,C#,Linq,我在读取一些xml行时遇到XPathSelectElement问题 函数handleEachSession从我的另一个函数的mathod childList.ForEach()调用了两次: private void handleMonitorResponse(XElement receivedSessions) { List<XElement> childList = receivedSessions.Elements().ToList(); childList.ForEach

我在读取一些xml行时遇到XPathSelectElement问题

函数handleEachSession从我的另一个函数的mathod childList.ForEach()调用了两次:

private void handleMonitorResponse(XElement receivedSessions)
 {
 List<XElement> childList = receivedSessions.Elements().ToList();
 childList.ForEach(handleEachSession);
有人能帮我吗

XML是:

receivedSessions = 
<sessions type="array">
  <item type="object">
    <sessionId type="string">8c86716a87</sessionId>
    <quality type="string">mid</quality>
    <addressUri type="string">http://192.168.6.234/media/SorrowPinkFloyd_.mp4</addressUri>
    <currentTime type="number">1.5542887</currentTime>
    <contentStatus type="string">paused</contentStatus>
  </item>
  <item type="object">
    <sessionId type="string">c795067c4e</sessionId>
    <quality type="string">mid</quality>
    <addressUri type="string">http://192.168.6.234/media/trailer.mp4</addressUri>
    <currentTime type="number">3.3492105</currentTime>
    <contentStatus type="string">playing</contentStatus>
  </item>
</sessions>

session = (first call)
<item type="object">
  <sessionId type="string">8c86716a87</sessionId>
  <quality type="string">mid</quality>
  <addressUri type="string">http://192.168.6.234/media/SorrowPinkFloyd_.mp4</addressUri>
  <currentTime type="number">1.5542887</currentTime>
  <contentStatus type="string">paused</contentStatus>
</item>

session = (second call)
<item type="object">
  <sessionId type="string">c795067c4e</sessionId>
  <quality type="string">mid</quality>
  <addressUri type="string">http://192.168.6.234/media/trailer.mp4</addressUri>
  <currentTime type="number">3.3492105</currentTime>
  <contentStatus type="string">playing</contentStatus>
</item>
receivedSessions=
8c86716a87
中间
http://192.168.6.234/media/SorrowPinkFloyd_.mp4
1.5542887
停顿
c795067c4e
中间
http://192.168.6.234/media/trailer.mp4
3.3492105
玩
会话=(第一次调用)
8c86716a87
中间
http://192.168.6.234/media/SorrowPinkFloyd_.mp4
1.5542887
停顿
会话=(第二次呼叫)
c795067c4e
中间
http://192.168.6.234/media/trailer.mp4
3.3492105
玩
根据,双斜杠(//)表示:从当前节点选择文档中与选择匹配的节点,无论它们位于何处。 因此,考虑到这一点,您可能必须将
handleEachSession
函数更改为

private void handleEachSession(XElement session)
{
    XElement receivedSessionId = session.XPathSelectElement("sessionId");
    XElement receivedQuality = session.XPathSelectElement("quality");
    XElement receivedContentStatus = session.XPathSelectElement("contentStatus");
}
根据,双斜杠(//)表示:从当前节点中选择与选择匹配的文档中的节点,无论它们位于何处。 因此,考虑到这一点,您可能必须将
handleEachSession
函数更改为

private void handleEachSession(XElement session)
{
    XElement receivedSessionId = session.XPathSelectElement("sessionId");
    XElement receivedQuality = session.XPathSelectElement("quality");
    XElement receivedContentStatus = session.XPathSelectElement("contentStatus");
}
请包含XML(一个足够但简短的片段)。请包含XML(一个足够但简短的片段)。