2017-09-03 6 views
-2

J'essaie d'utiliser un lecteur xml pour lire un URL qui contient un xml. J'obtiens une erreur disant que les chaînes sont nullesLe lecteur XML ne lit pas correctement

 public void readEyeData() 
     { 
      XmlTextReader reader = new XmlTextReader(ExamInfo.eyeURL); 

      while (reader.Read() && !(reader.NodeType == XmlNodeType.EndElement && reader.Name == "point")) 
      { 
       if (reader.NodeType == XmlNodeType.Element) 
       { 
        switch (reader.Name) 
        { 
         case "point": 
          var xString = reader.GetAttribute("x"); 
          var yString = reader.GetAttribute("y"); 

          float x = Int32.Parse(xString); 
          float y = Int32.Parse(yString); 
          view.EyeMove(x, y); 
          break; 
        } 
       } 
      } 
} 

Et ceci est un échantillon du xml. Im pas sûr si j'utilise le lecteur correctement

<studentMovements> 
<eyeCoordinates> 
<point> 
<x>533</x> 
<y>521</y> 
<ts>522332022.281823</ts> 
</point> 
<point> 
<x>538</x> 
<y>521</y> 
<ts>522332029.325239</ts> 
</point> 
<point> 
<x>592</x> 
<y>529</y> 
<ts>522332058.340718</ts> 
</point> 

S'il vous plaît aider grâce!

+0

Lire le message. Cela signifie-t-il quelque chose pour vous? 'Le serveur distant a renvoyé une erreur: (404) introuvable. '' –

+0

Ah ok donc j'ai corrigé l'URL mais maintenant je reçois une autre exception quand j'essaye d'analyser les cordes. Ils arrivent à zéro, alors le lecteur a-t-il raison? – user8370201

+0

Google pour 'linq à xml' –

Répondre

0

Voici un exemple qui imprime chaque point

foreach (var point in XDocument.Parse(xml).Descendants("point")) 
{ 
    var x = Int32.Parse(point.Element("x").Value); 
    var y = Int32.Parse(point.Element("y").Value); 
    Console.WriteLine("({0}, {1})", x, y); 
} 

Voir le violon à https://dotnetfiddle.net/Yek62r