2012-01-16 9 views
0

私はRESTサービスと統合しています。 少しのハードルを打つ。 私はHttpWebRequestを介してサービスを打っています。 私が正常な応答を受け付けておりますが、StreamReaderを経由HttpWebResponseのGetResponseStreamを実行するには、私はC#のintにこのバックを変換する方法について少しこだわっHttpWebResponseとInt

<int xmlns="http://schemas.microsoft.com/2003/10/Serialization/">427</int>. 

をバック取得しています。

アドバイスはありますか?

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

+0

文字列「427」を整数に変換する必要がありますか?それとも、リクエストしているページのステータスコードですか? –

+0

ああ申し訳ありませんが、私の投稿から応答が取り除かれたことを認識しています。下記参照。 XSD intを取得する。 – TheITGuy

+0

427 TheITGuy

答えて

1

あなたはあなたに応答XMLをロードするために使用することができXDocumentと一緒にint.Parseint.TryParse方法を見てみましょうことがあります。

var request = WebRequest.Create(...); 
... 
using (var response = request.GetResponse()) 
using (var stream = response.GetStream()) 
{ 
    var doc = XDocument.Load(stream); 
    if (int.TryParse(doc.Root.Value, out value)) 
    { 

     // the parsing was successful => you could do something with 
     // the integer value you have just read from the body of the response 
     // assuming the server returned the XML you have shown in your question, 
     // value should equal 427 here. 
    } 
} 

またはさらに簡単、XDocumentのLoadメソッドは、HTTPを理解し、

var doc = XDocument.Load("http://foo/bar"); 
if (int.TryParse(doc.Root.Value, out value)) 
{ 
    // the parsing was successful => you could do something with 
    // the integer value you have just read from the body of the response 
    // assuming the server returned the XML you have shown in your question, 
    // value should equal 427 here. 
} 

このようにして、HTTPリクエスト/レスポンスを使用する必要はありません。 BCLによってすべてがあなたのために処理されます。これはちょっと大丈夫です。

+0

@Franky、何を参照してください?私は何も見ない。投稿を更新しましたか?質問に投稿したコメントは役に立たない。完全に読めない。いくつかのXMLを表示したい場合は、元の質問を更新し、適切にフォーマットしてください。 –

+0

Darren - あまりにも確かではない - 私はオリジナルを編集することができなかった...代わりに私はコメントにそれを加えた...それを更新していただきありがとうございます。 – TheITGuy

+0

@Franky、OK、あなたの質問が正しくフォーマットされたので、あなたの持つXMLを考慮に入れて答えを更新しました。 –

0

文字列「427」をintに変換しようとしている場合は、Int32.Parseメソッドを使用してください。

var str = "427"; 
var number = Int32.Parse(str); // value == 427 
関連する問題