2013-07-05 3 views
0

enter image description hereнужно удалить теги XML из ASP.NET WebService

namespace CheckPassword 
{ 
    /// <summary> 
    /// Summary description for Service1 
    /// </summary> 

    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService] 
    public class Service1 : System.Web.Services.WebService 
    { 

     [WebMethod] 
     public string CheckPass(string globalid) 
     { 

      string conStr1 = System.Configuration.ConfigurationSettings.AppSettings["questConStr"]; 

      string query1 = "select PASSWORD from TM_Roles where GLOBAL_ID='" + globalid + "'"; 

      SqlConnection con1 = new SqlConnection(conStr1); 
      con1.Open(); 
      SqlCommand command1 = new SqlCommand(query1, con1); 
      DataSet ds = new DataSet(); 
      SqlDataAdapter oda = new SqlDataAdapter(command1); 
      oda.Fill(ds, "reading"); 

      DataRow dr = ds.Tables[0].Rows[0]; 

      string password = dr["PASSWORD"].ToString(); 


      string s = password; 


      /* the next three lines are supposed to remove the xml tags */ 
      System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); 
      HttpContext.Current.Response.Clear(); 
      HttpContext.Current.Response.BinaryWrite(encoding.GetBytes(s)); 

      con1.Close(); 
      return s; 
     } 
    } 
} 

Этот метод должен возвращать пароль, без каких-либо тегов XML. Просто текст. Вышеприведенное изображение - это возврат из веб-сервиса. Как я могу это сделать?

+1

Вы действительно потребляете свой веб-сервис, и он возвращает xml? – Zaki

+0

@ Sam потребляется? Клиент к веб-сервису был создан без тэгов XML. стажер здесь изменил код, и я не могу вернуться к старой реализации. что еще хуже, так это то, что клиентские сборки уже распределены. – prometheuspk

+0

вы сказали, что он возвращает xml, так что вы на самом деле сделали клиента и вызвали сервис и посмотрели xml? – Zaki

ответ

-1

Вы можете сделать это с помощью методов string.IndexOf и string.LastIndexOf, а затем просто сделать подстроку. Это работало отлично для меня.

private string RemoveXmlTags(string input) 
    { 
     string output; 
     int  firstIndex; 
     int  lastIndex; 

     firstIndex = input.IndexOf("\">"); 
     lastIndex = input.LastIndexOf("<"); 
     //you need to move the count of the chars you looked for in IndexOf to the start of the string 
     output = input.Substring(firstIndex + 2, lastIndex - firstIndex-2); 

     return output; 
    } 

Я надеюсь, что смогу вам помочь.

Смежные вопросы