Почему это не, возвращают результат подачи XML?

Таким образом, у меня есть эта подача, я сократил узлы, которые не необходимы.




  busExpressEntities
  
    
      serviceId
      1149
    
  
  ServiceSet


  
    busExpressEntities
    
      
        clientId
        
      
    
    ClientSet
  
  
  /DataBroker/
  brightonbuses
  brightonbuses
  
  
  
  
  
  226218420727119|9fab190dcc99dc2750006a31.3-642660078|191977440844064|WaOZ-7z6_ih2OwHmerQ95uz0nFU
  191977440844064
  
  
  
  
  C:\buscms\wwwroot\operators\\data-files\pdfs
  http:///uploadedfiles
  [email protected]
  http://www.buses.co.uk
  http://buses.citytransport.org.uk/smartinfo/service/jsp?stName=#gpsStopName#&olifServerId=182&autorefresh=0&default_autorefresh=20&routeId=182%2F#serviceName#&stopId=#gpsStopName#&optDir=#destination#&nRows=10&showArrivals=n&optTime=now&time=&allLines=#allLines#
  
    
    
      
        busExpressEntities
        
          
            serviceId
            1150
          
        
        ServiceSet
      
      
      
        
      
      
      
      
      http://www.buses.co.uk/1A
      2
      
        
          
            busExpressEntities
            
              
                routeId
                1236
              
            
            RouteSet
          
          
          
          
          
          true
          0
          
          1236
          
          1A Mile Oak - Whitehawk
          
          
          
          
          
            
          
          
          Whitehawk
        
        
          
            busExpressEntities
            
              
                routeId
                1232
              
            
            RouteSet
          
          
          
          
          
          true
          0
          
          1232
          
          1A Whitehawk - Mile Oak
          
          
          
          
          
            
          
          
          Mile Oak
        
      
      
      Whitehawk - County Hospital - City Centre - Hove - Portslade - Mile Oak
      http://www.buscms.com/uploadedFiles/brightonbuses/service-icons/1A.png
      1150
      1A
      
      Whitehawk - Mile Oak
      
    

Обслуживание повторяется.

У меня тогда есть этот код, чтобы получить данные:

 void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
{ 
    if (e.Error == null) 
    { 
        if (e.Result != null) 
        { 
            XDocument doc = XDocument.Parse(e.Result); 
            XNamespace ns = "http://schemas.datacontract.org/2004/07/BusExpress.ClassLibrary";
            var routeNames = (from n in doc.Descendants(ns + "ArrayOfService") 
                             select new RootContainer

                             {

                                 Stops = (from s in n.Elements(ns + "Service").Elements(ns + "client").Elements(ns + "services").Elements(ns + "Service").Elements(ns + "Service")

                                          select new Stops

                                          {
                                              StopName = s.Element(ns + "serviceDescription").Value,
                                              serviceIconUrl = s.Element(ns + "Service").Element(ns + "serviceIconUrl").Value,
                                           // NaptanCode = s.Element(ns + "Service").Element(ns + "serviceIconUrl").Value,

                                            //StopId = s.Element(ns + "stop").Element(ns + "stopId").Value 

                                          }).ToList() 
                             }).Single();


            listBox1.ItemsSource = routeNames.Stops;

И его закрепление как это на xmal странице:

   
        
            
                
                    <!-- -->
                    
                    <!--   -->
                                             
                   <!--   -->
                    
                
            

        
    

Почему я не получаю ответа? Я знаю, что это - что-то простое, просто не может найти его.

0
nl ja de

1 ответы

Ваш вопрос LINQ содержит слишком много Обслуживание элементы в конце, который это не найдет.

Это в настоящее время:

n.Elements(ns + "Service")
 .Elements(ns + "client")
 .Elements(ns + "services")
 .Elements(ns + "Service")
 .Elements(ns + "Service")

Это должно быть:

n.Elements(ns + "Service")
 .Elements(ns + "client")
 .Elements(ns + "services")
 .Elements(ns + "Service")
1
добавлено
@HenryEdwards - То вероятное означает, что что-то (или элемент или признак) вы получаете доступ в вашем , избранный </ код> блокируют doesn' t существуют в XML-документе
добавлено автор Richard Szalay, источник
Привет, спасибо, я сделал это - но я все еще получаю ошибку - необработанное исключение типа ' Система. NullReferenceException' произошедший в BrightonHoveBuses.dll
добавлено автор Henry Edwards, источник
Про Windows
Про Windows
941 участник(ов)

Microsoft Windows и всё, что с этим связано. Список интересных групп и каналов: https://github.com/goq/telegram-list

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot