данные текстового блока из веб-сервиса - PullRequest
0 голосов
/ 15 марта 2012

Привет! Мне нужно получить данные из веб-службы и поместить их в текстовый блок. следующий код дает мне пустой текстовый блок есть ли проблемы с моим кодом ????

    public info()
    {

        InitializeComponent();

        WebClient inf = new WebClient();
        // client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);

       inf.DownloadStringCompleted+=new DownloadStringCompletedEventHandler(inf_DownloadStringCompleted);


        //name.Text = 
    }
    public void inf_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        string pass = mp.passwordBox1.Password;

       string id = mp.tx.Text;
        string url = "http://82.212.89.6:888/mob/resources/stdInfo/authenticate/" +id  + "/" +pass  + "/1/570322308ce1121cba1b93f5acc9ebd4733ef2bca90ef942a2cfa224f0aa08dc/1";

        XElement xx = XElement.Parse(url);
       string m= xx.Element("userId").Value;

       name.Text = m;
       }

Ответы [ 2 ]

0 голосов
/ 15 марта 2012

Для использования веб-сервисов парсит данные:

    String baseUri = “your service URI";
    WebClient wc = new WebClient();

    public MainPage()
    {
        InitializeComponent();
    wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler     (wc_downloadstringcompleted);
    // event handler that will handle the ‘downloadstringsompleted’ event

           wc.DownloadStringAsync(new Uri(baseUri));    
    //   this method will download your string URI asynchronously    

    }


 void wc_downloadstringcompleted(Object sender, DownloadStringCompletedEventArgs e)
    {
            // method will get fired after URI download completes
             // writes your every code here

            using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
            {         
                while (reader.Read())
                {
                    switch (reader.NodeType)
                    {
                        case XmlNodeType.Element:
                            if (reader.Name = "userId")
                                     string str1 = reader.value();
                            break;
                    }
                }
            }

        name.text = str1;
  }
0 голосов
/ 15 марта 2012

Вы не вызываете DownloadStringAsync объекта inf. Вы не используете параметр e в inf_DownloadStringCompleted.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...