2017-09-03 15 views
-2

XMLを保持するURLを読むためにXMLリーダーを使用しようとしています。文字列がnullであるというエラーが表示されますXMLリーダーが正しく読まない

 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; 
        } 
       } 
      } 
} 

これはxmlのサンプルです。私が正しくリーダーを使用しているかどうかわからない場合

<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> 

ありがとうございました!

+0

のフィドルは再びメッセージをお読みください。あなたに何か意味がありますか? 'リモートサーバーからエラーが返されました:(404)が見つかりません。 '' –

+0

ああ、私はURLを修正しましたが、今は文字列を解析しようとしているときに別の例外が発生しています。彼らはヌルとして登場しているので、読者は正しいですか? – user8370201

+0

Google for 'linq to xml' –

答えて

0

は、ここで各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); 
} 

を出力する例ですhttps://dotnetfiddle.net/Yek62r

関連する問題