2017-05-20 9 views
0

このXML応答から値を取得できません。何か助けていただければ幸いです。XMLファイルの読み込みLinqを使用している要素が読み取れません

<Response> 
    <Result> 
    <Item1>GREEN</Item1> 
    <Item2>05/19/2017 22:08:14</Item2> 
    </Result> 
    <Other> 
    <Id>xxxxxxxxxxxxc</Id> 
    </Other> 
</Response> 
私がこれまで試したどのような

が、結果

string responseXml = response.ToXML(); 
XElement doc = XElement.Load(new StringReader(responseXml)); 
var results = from p in 
       doc.Descendants("Result") 
       select new 
       { 
        item = p.Element("Item1").Value, 
       }; 

foreach (var elm in results) 
{ 
    Console.WriteLine(elm.item); 
} 
+0

[mcve]を入力する必要があります。 [this fiddle](https://dotnetfiddle.net/GUoRdE)にあるように、質問のXMLに 'reponseXml'を代入してコードを実行すると、出力は' GREEN' - あなたのコードが動作します。 –

答えて

0

使用解析の代わりに、負荷は空です。文字列の余分な文字のためにエラーが発生することもあります。投稿した文字列には一重引用符があります。一重引用符が使用している実際の文字列に含まれているかどうかは不明です。

  string responseXml = "<Response>" + 
           "<Result>" + 
           "<Item1>GREEN</Item1>" + 
           "<Item2>05/19/2017 22:08:14</Item2>" + 
           "</Result>" + 
           "<Other>" + 
           "<Id>xxxxxxxxxxxxc</Id>" + 
           "</Other>" + 
          "</Response>"; 
      XElement doc = XElement.Parse(responseXml); 
      var results = from p in 
           doc.Descendants("Result") 
          select new 
          { 
           item = p.Element("Item1").Value, 
          }; 

      foreach (var elm in results) 
      { 
       Console.WriteLine(elm.item); 
      } 
関連する問題