1

Windowsフォームで残りのWebサービスから文字列を表示する方法私のxmlは次のようになります:

<string>whatever</string>

winフォームのテキストボックスにそれを表示するにはどうすればよいですか?

私が試したら

        string uri = string.Format("etc/{0}/{1} Sad.Text, Happy.Text");
        XDocument xDoc = XDocument.Load(uri);
        string mystring = xDoc.Element("String").Value;
        textBox1.Text = mystring;

オブジェクト参照エラーが発生しましたか?

4

2 に答える 2

1

XML 要素は大文字と小文字が区別されます。試す、

string mystring = xDoc.Element("string").Value;

この問題を解決するより良い方法は、XML を使用して単純な文字列を返さないことです。メディア タイプtext/plainは、そのように設計されています。Microsoft の ASP.NET Web APIを使用している場合は、単に戻ります

return new HttpResponseMessage() { 
            Content = new StringContent("etc/{0}/{1} Sad.Text, Happy.Text")
           };

そしてクライアントで(このhttp://nuget.org/Packages/system.net.httpを使用して)、

var httpClient = new HttpClient();
textBox1.Text = httpClient.GetAsync(uri).Result.Content.ReadAsString();
于 2012-04-24T12:35:51.067 に答える
-2

XmlSerializer を使用して、Web サービスから返された XML から情報を取得します。XML は単なる文字列であると想定しています。単純な例でこのようなことを行うこともできますが、これは REST Web サービスによって返されるより複雑なオブジェクトでも機能します。

 XmlSerializer xs = new XmlSerializer ( typeof ( string ) );
 MemoryStream memoryStream = new MemoryStream(StringToUTF8ByteArray(restResult));
 XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);
 string textBoxVal = xs.Deserialize(memoryStream);
于 2012-04-24T12:23:06.250 に答える